Mega32: Bug in Stringverarbeitung ? Kategorie: Programmierung C (von Hannes24 - 16.01.2017 8:06) | ||
| ||
Hallo, ich m枚chte auf ein Grafikdisplay 眉ber die ser. Schnittstelle String-Kommandos schicken. Z.B. t0.txt="10:11:12"每每每 (每每每 = 3x 0xFF) Das folgende Programm reproduziert den Fehler. W盲hrend die erste for-next Schleife problemlos abl盲uft, es wird 4x der gew眉nschte String ausgegeben, wird bei der 2. for-next Schleife der String nur 1x ausgegeben, dann st眉rtzt der Interpreter ab. Bei einem anderen Programm ist auch die Real-Time-Clock stehen geblieben. // IDE 2.40 // Programm Start mit Hardware Reset // Ausgabe: // t0.txt="10:11:12"每每每t0.txt="10:11:12"每每每t0.txt="10:11:12"每每每t0.txt="10:11:12"每每每t1.txt="10:11:12"每每每 byte buffer[SERIAL_BUF(25,30)]; word counter; void main(void) { Serial_Init_IRQ(0,buffer,25,30,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD38400); byte Stunde,Minute,Sekunde,n; Stunde=10; Minute=11; Sekunde=12; char text1[20], textout[20]; for (n=0; n<4; n++) { Str_Printf(text1,"%02d:%02d:%02d",Stunde,Minute,Sekunde); // erzeuge String Uhrzeit text1= "10:11:12" Str_Printf(textout,"t0.txt="%s"%c%c%c",text1,0xFF,0xFF,0xFF); // erzeuge String textout t0.txt="10:11:12"每每每 Serial_WriteText(0,textout); counter=400; while(counter--); } //----------------------------------------------------------------------------- for (n=0; n<4; n++) { Str_Printf(text1,"%02d:%02d:%02d",Stunde,Minute,Sekunde); TFT_WriteString2Text(text1); } while(1); } void TFT_WriteString2Text(char Text[]) { char text2TFT[20]; Str_Printf(text2TFT,"t1.txt="%s"%c%c%c",Text,0xFF,0xFF,0xFF); Serial_WriteText(0,text2TFT); counter=400; while(counter--); } | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum