RuiViana

ArduinoUS.ino

Oct 22nd, 2020
928
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // strlen()  é uma string com o espaço ocupado na array
  2. // sizeoff()  é o tamanho de uma string ??
  3. //  xpto.length() é o tamanho de uma string
  4.  
  5. float dist = -7.35;                           // Valor de teste
  6. String vazio = "      ";                             // Valor de teste
  7. char valor[6];                                // Matriz para guardar convesão de float
  8. String pacote = "US";                         // String para montar o pacote com "header" HT
  9. //-----------------------------------------------------------
  10. void completar(String item)                   //  Completa com espacos a esquerda ate 6 digitos
  11. {
  12.   String leading;                             // String com espacos
  13.    for (int i = 0; i < (6 - String(item).length()); i++)     // Verificas qto espacos sao necessarios
  14.   {
  15.     leading += " ";                                         // Acrescenta espaco
  16.   }
  17.   leading += String(valor);                                 // Concatena valor com espacos a esqueda
  18.   //Serial.print(leading);  Serial.print(" >> lgh ");       // Print para debug
  19.   //Serial.println(leading.length());                       // Print para debug
  20.   pacote += vazio + leading;                                        // Concatena com novo valor
  21. }
  22. //-----------------------------------------------------------
  23. void montaPacote()                                          // Monta "protocolo" propietario
  24. {
  25.   dtostrf(dist, 2, 2, valor);                               // Converte valor temp float em array
  26.   completar(valor);                                         // completa valores a esquerda e concatena
  27.  
  28.   Serial.print(pacote);  Serial.print("     >> lgh ");      // Print pacote montado
  29.   Serial.println(pacote.length());                          // Print tamanho do pacote
  30. }
  31. //-----------------------------------------------------------
  32. void setup()
  33. {
  34.   Serial.begin(115200);
  35. }
  36. //-----------------------------------------------------------
  37. void loop()
  38. {
  39.   pacote = "US";                                              // Recarrega string
  40.   montaPacote();                                              // Cria pacote
  41.   delay(1000);
  42. }
RAW Paste Data