Concatenar e converter tipos diferentes


estou montando um display com matrizes de led 8x8. utilizei este código e funcionou bem:
http://www.instructables.com/id/16x8-led-dot-matrix-with-max7219-module/?lang=pt

no entanto, gostaria de inserir o texto pela serial de forma que este ficasse se repetindo. no trecho abaixo código é possível ver que ele passa o texto no display vindo da serial, mas só passa uma vez.

não consegui, por causa dos tipos diferentes de variáveis, jogar o conteúdo serial.read para uma variável string.

code: [select]
...
char string1[] = " test text  ";
char minhastring [] = "";  ----> aqui eu deveria inicializar uma variável mesmo tipo de string1, só que vazia.

void setup(){
 m.init();
 m.setintensity(0);
 serial.begin(9600);
}

void loop(){
 
 // code if want entering message via serial console
   while (serial.available() > 0){
   byte c = serial.read();
  minhastring = minhastring + c ----> aqui concatenar o valor de c, convertido em char ou string (não sei bem)
   serial.println(c, dec);
   printcharwithshift(c, 100);
 }
 delay(100);
 m.shiftleft(false, true);

 // print active sentences
 printstringwithshift(string1, 100);
 printstringwithshift(minhastring, 100);  ----> aqui ficaria passando o texto

}


indiquei no código minha ideia, mas não sei como implantá-la.

agradeço desde já pela ajuda!

ola lago
a operação de concatenar strings com o + só é possível usando uma instância da classe string.no entanto fazes bem não estares usar classe string já que ela é desnecessária para o que pretendes e utilização de char arrays é tua melhor solução.
uma das formas que agora me vem à cabeça para fazeres isso é usares função strcat.
basicamente apenas tens de garantir que tua primeira string tem espaço suficiente para o resto texto que la queres adicionar.
em resumo algo assim:

code: [select]

 char stringprincipal[80];
 strcpy (stringprincipal,"a ");
 strcat (stringprincipal,"string ");
 strcat (stringprincipal,"esta ");
 strcat (stringprincipal,"concatenada");
 serial.println (stringprincipal);

assim só tens de ler os teus bytes da serial, armazena-los num outro char array e terminalo com o '\0'.
depois fazes o strcpy (stringprincipal,arraysecundario); onde o arraysecundario é o array que contem string que enviaste pela serial.


Arduino Forum > International > Portugues > Concatenar e converter tipos diferentes


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support