diff --git a/cMIPS/serial.inp b/cMIPS/serial.inp index 4c217f34a0b7588d9cc2a11aa4697b7b579d3395..ef91149c811851ff9f97338de0047e422d5d8a32 100644 --- a/cMIPS/serial.inp +++ b/cMIPS/serial.inp @@ -1,8 +1,7 @@ -1 -2 -3 -4 -5 +1a +2a +2a +2a 2a diff --git a/cMIPS/tests/jedidafu.c b/cMIPS/tests/jedidafu.c index 876f38a14bb2bdd8774394a9ad06696746c7c08f..bc9f517edb55283c4689c59d32fd2ab8a2fb715d 100644 --- a/cMIPS/tests/jedidafu.c +++ b/cMIPS/tests/jedidafu.c @@ -164,7 +164,7 @@ int main(void) { // receive a string through the UART serial interface int hdona=0; int tlona=0; int filonx = 0; - int valfib, qt; + int valfib, qt, rxz; char p[15]; Tcontrol ctrl; @@ -193,38 +193,42 @@ int main(void) { // receive a string through the UART serial interface while(!proberx()) to_stdout('-');//i = 1 - i; to_stdout('\0'); while((c=Getc()) != -1){ - filona[tlona] = c; + filona[tlona] = c; tlona++; - if(c=='\n') + tlona%=145; + if(c=='\n'){ filonx++; - /*if(c=='\n'){ - print(hex2int((filona+hdona))); - hdona = tlona; - }*/ + filona[tlona] = 0; + } } while(filonx > 0){ qt = Strlen(filona+hdona); valfib = hex2int((filona+hdona)); - print(valfib); valfib = buf[valfib]; + hdona += qt+1; + hdona %= 145; print(valfib); - hdona += qt-1; qt = int2hex(p, valfib); j = -1; do { j++; - while(!Putc(p[j])); + while(((rxz = proberx())<16) && !Putc(p[j])); + if(rxz >= 2){ + while((c=Getc()) != -1){ + filona[tlona] = c; + tlona++; + tlona%=145; + if(c=='\n'){ + filonx++; + filona[tlona] = 0; + } + } + j--; + } + } while (p[j] != 0); filonx--; } - /*for(j=0; j<145; j++) //isso aqui buga porque ele invalida os char quando hex2inteia - if(filona[j]==0 || filona[j]==10) - to_stdout('_'); - else - to_stdout(filona[j]); - to_stdout('\0'); - hdona = tlona; - print(hex2int((filona+hdona)));*/ } while (i<5);