ATMEGA 16 RS232

Gast #160313
Lesenswert?

Hallo, ich verwende einen ATMEGA 16
und möchte gerne einen string an der Seriellen Schnittstelle ausgeben.
Bei einzelnen Worten klappt das auch sehr gut. aber wenn ich einen
ganzen Satz eingebe wird gar nichts gesendet. Nach dem Erstellen der
Datei zeigt IAR an

 925 bytes of CODE memory (+             4 range fill )
  72 bytes of DATA memory (+ 16 absolute )

Meine vermutung ist das es irgendwas mit dem Speicher zu tun hat aber
der ATMEGA hat 16 K Byte und ich verwende nur ca 1 k Byte...

kennt einer von euch das Problem?

oder ist es ein Fehler in meinem Programm?

Björn
Angehängte Dateien:
Gast #160314
Lesenswert?

Das sind gleich mehrere Programmfehler.


   char text[]=" Frequenz";  // terminierende Null ist implizit
   int g = 0;

   while (text[g])
   {
     while (! (UCSRA & (1<<UDRE)));    // Warte bis sendespeicher leer
     UDR = text[g++];
   }

Das reicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren