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.
indiquei no código minha ideia, mas não sei como implantá-la.
agradeço desde já pela ajuda!
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:
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.
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
Post a Comment