Re: IDE Version 1.98 Kategorie: Programmierung C (von Manfred - 5.01.2009 22:43) | ||
Als Antwort auf Re: IDE Version 1.98 von PeterS - 5.01.2009 8:17 | ||
| ||
> > > Hallo PeterS, > > > > > > hier wie angekündigt einige Probleme mit der Version 1.98 > > > 1. Der Editor speichert den rechten Rand nicht > > > 2. Die Suchfunktion im Editor übernimmt nicht das Wort am Cursor > > > 3. > > > Die folgende Funktion aus LCD_lib ohne die auskommentierten Zeilen > > > ----------------------------------------------------------------------------------- > > > void LCD_WriteText(char text[]) > > > { > > > int i; > > > > > > // char text1[256]; > > > // Str_Copy(text1,text,0); > > > > > > i=0; > > > while(text[i]) LCD_WriteChar(text[i++]); > > > // while(text1[i]) LCD_WriteChar(text1[i++]); > > > } > > > ----------------------------------------------------------------------- > > > ergibt die Fehlermeldung während der Programm-Laufzeit: > > > Array Index zu gross bei Adresse 25725 in Thread 0 > > > Zeit 1020 ms > > > Interpreter gestoppt > > > > > > Der Fehler tritt auf ohne und mit eingebundenem Assembler-Programm. > > > Die auskommentierten Zeilen sind ein "Workaround". > > > 4. Auch mit dem Workaround ist die Anzeige auf meinem LCD-Display 4*20 noch korrupt. > > > Da bin ich noch auf der Suche. > > > > > > Viele Grüsse und weiter so mit der Entwicklung der IDE > > > Manfred > > > > Nachtrag zu gestern: > > Weitere Fehlersuche ergab, dass die interne Funktion Str_Copy manchmal fehlerhaft arbeitet. > > Ich habe den Eindruck, dass die Probleme bei mir im Zusammenhang mit Zeigern auftreten. > > Warte jetzt auf eine weitere Beta. > > Manfred > > > > Hmmm. Kann ich nicht bestätigen. Irgendein kleines Programm, das das demonstriert? > > Gruss Peter Hallo Peter, hier ein kleines Programm das glaube ich die Probleme zeigt. Läuft mit IDE 1.71. Wird abgebrochen bei IDE 1.98 nach Eingabe eines Zeichens über die 2. Serielle Schnittstelle //--------------------------------------------- // test2.cc Schz 5.1.2009 char Text00[256]; word Zeichen; // von RS232 gelesenes Zeichen byte Snr; // Nummer der seriellen Schnittstelle //------------------ Zeichen an Text anhängen --------------------- void AppendChar(char text[],char c) { word len; len=Str_Len(text); // Berechne Länge, bei IDE 1.98 wirf "len" zu Null berechnet text[len]=c; // Hänge Zeichen an text[len+1]=0; // Terminiere String } void Ausgabe(void) { AppendChar(Text00,Zeichen); Msg_WriteText(Text00); Msg_WriteChar(13); } void main(void) { Snr=1; // 2. Schnittstelle Text00=""; Zeichen=0x100; Serial_Init(Snr,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD19200); while(Zeichen!=0x1B) // Abbruch mit ESC { Zeichen=Serial_ReadExt(Snr); // Zeichen von der RS232 Schnittstelle if (Zeichen != 0x100) Ausgabe(); } // while(true) } // Ende main Ein ähnliches Problem besteht auch bei der Funktion LCD_WriteText. (Operation mit Zeigern) Gruss Manfred | ||
Antwort schreiben Antworten: Re: IDE Version 1.98 (von Manfred - 8.01.2009 21:31) Re: IDE Version 1.98 (von Manfred - 9.01.2009 15:27) Re: IDE Version 1.98 (von PeterS - 11.01.2009 13:08) Re: IDE Version 1.98 (von PeterS - 11.01.2009 13:06) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum