www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMEGA 16 RS232


Autor: Björn (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Fehler tritt aber auch noch auf wenn ich diese Funktion verwende...
spart aber wirklich ein paar Zeilen ;-)

Trotzdem Danke

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe meinen Fehler gefunden...
Wenn man den Text als Parameter in die Funktion übergibt klappt es!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.