void TRISTATE()
{
int b=0;
int i=0;
for (i = 0; i < 18; i+2)
{
if ((char(stringa_bin[i]) == 0x31) && (char(stringa_bin[i+1]) == 0x31)) //11 = "-"
{
dualbit[b]='-';
}
if ((char(stringa_bin[i]) == 0x30) && (char(stringa_bin[i+1]) == 0x30)) //00 = "+"
{
dualbit[b]='+';
}
if ((char(stringa_bin[i]) == 0x30) && (char(stringa_bin[i+1]) == 0x31)) //01 = "0"
{
dualbit[b]='0';
}
b=b+1;
}
}
Ho bisogno di una mano... stringa_bin è un array char contenente una combinazione di 18 valori di 0 e 1
devo leggere questi valori a coppie di due e trasformarli in:
11 = -
00 = +
01 = 0 (ma se crea problemi posso usare anche "N" p.es.)
in pratica i 18 caratteri della stringa_bin diventeranno 9 caratteri nella stringa dualbit.
provando a mettere delle "sonde" ho notato che l'incremento i+2 non funziona, mentre se lo trasformo nel tipico i++ funziona ma così non mi serve a niente.
Quando funziona poi mi riconosce solo la combinazione 11 e quindi scrive "-", ma non le altre due.