Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Probleme bei Ausgabe (Msg..) Kategorie: Programmierung C (von Josef - 30.05.2010 20:23)
Als Antwort auf Re: Probleme bei Ausgabe (Msg..) von Jörg - 30.05.2010 11:23
Ich nutze:
C-Control Pro Mega128
> > 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.: Test EEPROM 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


    Antwort schreiben


Antworten:

Re: Probleme bei Ausgabe (Msg..) (von PeterS - 1.06.2010 10:08)