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 Jörg - 30.05.2010 11:23)
Als Antwort auf Probleme bei Ausgabe (Msg..) von Josef - 29.05.2010 18:11

> 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


    Antwort schreiben


Antworten:

Re: Probleme bei Ausgabe (Msg..) (von Josef - 30.05.2010 20:23)
    Re: Probleme bei Ausgabe (Msg..) (von PeterS - 1.06.2010 10:08)