Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > Hallo zusammen, > > > > > > ich habe beim Ausgeben mit Msg ..... Probleme. > > > Bei dem unten angefügten Testprogramm werden die ersten Zeilen abgeschnitten. > > > Wenn ich das prg in der Schliefe laufen lasse funktionierts ab dem zweiten Durchlauf. > > > > > > float val[1]; > > > word EEPROM_Adr; // In dieser Variablen werden die EEPROM > > > // Adressen gespeichert. > > > byte EEPROM_Data; // Deklaration von Variablen > > > int n; > > > > > > void schreiben (byte in[]) > > > { > > > for (n=0; n<4; n++) > > > { > > > // Wert zum Schreiben in das EEPROM wird festgelegt. > > > EEPROM_Data=in[n]; > > > EEPROM_Write(EEPROM_Adr, EEPROM_Data); > > > Ausgabe(EEPROM_Adr, EEPROM_Data); > > > Msg_WriteText("in_write[n]"); Msg_WriteHex(in[n]); Msg_WriteChar(13); > > > EEPROM_Adr++; > > > } > > > } > > > void lesen (byte in[]) > > > { > > > EEPROM_Adr=0; // Wertzuweisung der Variablen EEPROM_Adr. > > > // Msg_WriteChar(13); // Ausgabe: Wagenrücklauf > > > > > > for (n=0; n<4; n++) > > > { > > > // Der Wert der EEPROM_Adr wird aus dem EEPROM gelesen und in der > > > EEPROM_Data=EEPROM_Read(EEPROM_Adr); > > > in[n]=EEPROM_Data; > > > Ausgabe(EEPROM_Adr, EEPROM_Data); > > > Msg_WriteText("in_read[n]"); Msg_WriteHex(in[n]); Msg_WriteChar(13); > > > EEPROM_Adr++; > > > } > > > } > > > void Ausgabe(word adr, byte data) > > > { > > > Msg_WriteHex(adr); // Ausgabe der Adresse > > > Msg_WriteChar(':'); // Ausgabe: : > > > Msg_WriteHex(data); // Ausgabe des Adressinhaltes > > > Msg_WriteChar(0x20); // Ausgabe: Leerzeichen > > > } > > > > > > void main(void) > > > { > > > int i; > > > Msg_WriteText("Test EEPROM"); Msg_WriteChar(13); > > > // for (i=0; i<3; i++) > > > // { > > > EEPROM_Adr=0; > > > // Msg_WriteText("Schleife: "); Msg_WriteInt(i); Msg_WriteChar(13); > > > val[0]=9654.000; > > > Msg_WriteText("VAL1: "); Msg_WriteFloat(val[0]); Msg_WriteChar(13); > > > Msg_WriteText("vor schreiben "); Msg_WriteChar(13); > > > schreiben(val); > > > val[0]=0.0; > > > Msg_WriteText("VAL2: "); Msg_WriteFloat(val[0]); Msg_WriteChar(13); > > > Msg_WriteText("vor lesen "); Msg_WriteChar(13); > > > lesen(val); > > > Msg_WriteFloat(val[0]); Msg_WriteChar(13); > > > // } > > > } > > > > > > AUSGABEFENSTER: > > > Interpreter gestartet - 4kb RAM > > > 016 in_write[n]0016 > > > 0003:0046 in_write[n]0046 > > > VAL2: 0.00000 > > > vor lesen > > > 0000:0000 in_read[n]0000 > > > 0001:00D8 in_read[n]00D8 > > > 0002:0016 in_read[n]0016 > > > 0003:0046 in_read[n]0046 > > > 9654.00000 > > > > > > Zeit: 60ms > > > Interpreter gestoppt > > > > > > Z.B.: <b>Test EEPROM</b> wird nicht geschrieben. > > > Vielleicht hatte schon jemand dises Problem > > > Danke > > Hallo Josef, > > > > ich kenne das Problem. > > manchmal werden Ausgaben verschluckt. > > > > Benutze mal ein delay vor der ersten Ausgabe.... > > > > > > Grüße Jörg > Danke Jörg > funktioniert