Buongiorno ragazzi,
vi illustro il mio problema.
Praticamente ho questi 10 array che dovrei associare a 10 allarmi.
//Dichiarazione messaggi
char messaggio1[42]="A,L,L,.,C,E,N,T,R,A,L,E, ,T,E,R,M,I,C,A,";
char messaggio2[70]="A,L,L,., ,P,O,M,P,E, ,A,N,T,I,C,E,N,D,I,O, ,S,T,A,B,I,L,I,M,E,N,T,O,";
char messaggio3[62]="A,L,L,., ,P,O,M,P,E, ,A,N,T,I,C,E,N,D,I,O, ,D,E,P,O,S,I,T,O,";
char messaggio4[61]="A,L,L,., ,R,I,V,E,L,A,T,O,R,E, , F,U,M,I, ,D,E,P,O,S,I,T,O,";
char messaggio5[38]="A,L,L,., ,A,R,I,A, ,C,O,P,R,E,S,S,A,";
char messaggio6[28]="S,I,L,I, ,A, ,S,C,A,R,T,O,";
char messaggio7[52]="A,N,O,M,A,L,I,A, ,A,S,C,E,N,S,O,R,E, ,U,F,F,I,C,I,";
char messaggio8[52]="A,N,O,M,A,L,I,A, ,A,S,C,E,N,S,O,R,E, ,M,O,L,I,N,O,";
char messaggio9[56]="A,N,O,M,A,L,I,A, ,A,S,C,E,N,S,O,R,E, ,D,E,P,O,S,I,T,O,";
char messaggio10[46]="A,N,T,I,N,T,R,U,S,I,O,N,E, ,D,E,P,O,S,I,T,O,";
Praticamente ho una variabile di tipo unsigned int, quindi composta da 16bit a cui associo ai primi 10bit un'errore.
una volta associati gli errori devo comporre la stringa e inviarla tramite seriale ad una scheda.
la stringa che devo comporre ha la parte iniziale:
ID:1,SETZONE:1,COLOR:1,PARM:(0,0,128,16),DATA:("
più i messaggi dei vari errori.
i valori dei bit situati nella variabile int gli leggo così
if(bitRead(vallettoint, 8) ==1)
Logicamente gli errori possono sommarsi quindi dovrei comporre una stringa con più messaggi.
Come posso fare per semplificarmi la vita e non usare molti cicli for?
Io avevo pensato la classe String, ma ho notato che quando deve sommare gli errori si blocca e noon mi restituisce niente.
PS. vi faccio un esempio
ho nella int ho 2 bit "alti"
quindi devo formare la stringa in questo modo:
ID:1,SETZONE:1,COLOR:1,PARM:(0,0,128,16),DATA:("A,L,L,.,C,E,N,T,R,A,L,E, ,T,E,R,M,I,C,A, ,A,L,L,., ,P,O,M,P,E, ,A,N,T,I,C,E,N,D,I,O, ,S,T,A,B,I,L,I,M,E,N,T,O,)
Grazie a tutti