mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART Tutorial ATmega8 Simulator Fehler?


Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leser,

vorab erstmal allen Frohes Fest. Ich beschäftige mich erst seit kurzem
mit Mikrocontrollern und habe mir gedacht erstmal das Tutorial hier auf
der Page durchzuarbeiten und etwas damit zu experimentieren. Ich bin nun
beim UART Artikel angekommen und da ich noch keinen ATmega8 gekauft habe
teste ich alles im Simulator von AVR Studio. Der erste Fehler ist
allerdings schon das mir der Simulator nur den ATmega128 anbietet alle
anderen uC sind ausgegraut weis da jemand Rat? Habe auf einem
Zweitsystem auch AVR Studio installiert dort kann ich alle uC
problemlos auswählen.
Nun zum Programm was ich natürlich mit dem ATmega8 ausgewählt auf
meinem Zweitsystem simuliere

.include "m8def.inc"

.def temp = r16
.equ CLOCK = 4000000
.equ BAUD = 9600
.equ UBRRVAL = CLOCK/(BAUD*16)-1

        ; Stackpointer initialisieren
        ldi temp, LOW(RAMEND)
        out SPL, temp
        ldi temp, HIGH(RAMEND)
        out SPH, temp

        ; Baudrate einstellen
        ldi temp, LOW(UBRRVAL)
        out UBRRL, temp
        ldi temp, HIGH(UBRRVAL)
        out UBRRH, temp

        ; Frame-Format: 8 Bit
        ldi temp, (1<<URSEL)|(3<<UCSZ0)
        out UCSRC, temp

        sbi UCSRB,TXEN                    ; TX aktivieren

loop:   ldi temp, 'T'
        rcall serout                      ; Unterprogramm aufrufen
        ldi temp, 'e'
        rcall serout                      ; Unterprogramm aufrufen
        ldi temp, 's'
        rcall serout                      ; ...
        ldi temp, 't'
        rcall serout
        ldi temp, '!'
        rcall serout
        ldi temp, 10
        rcall serout
        ldi temp, 13
        rcall serout
        rjmp loop

serout:
        sbis UCSRA,UDRE                   ; Warten bis UDR für das
nächste
                                          ; Byte bereit ist
        rjmp serout
        out UDR, temp
        ret                               ; zurück zum Hauptprogramm

Eigentlich genau den Source aus dem Tutorial. Das T und das e sendet
der Simulator einwandfrei allerdings setzt er nach dem Senden des e
nicht das UDRE Register auf Enable (UDR ist aber leer) und läuft dann
entlos in der serout Schleife. Ist dies evtl. ein Fehler des
Simulators?


Beste Grüße
Reinhard

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem habe ich auch bei SPI (und bei UART glaub auch). Das ist was
richtig gutes.. jedes mal das Flag zu setzten.

Also auch wenn ich bei SPI auf Takt/2 schalte, gehts nicht...

Irgendwas übersehen?

dave

Autor: Quark (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Menuepkt. Hilfe unter "Release Notes and Known Isusses" dann ´
wieder "Known Isusses" auwählen. Unter dem Topic Generic, diesen
XML Parser musste ich unter Win2000 installieren, dann ging es auch
mit anderen Controllern.
Grüße
Quark

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Fehler liegt nicht am AVR-Studio sondern bei Micro$oft...
Man muss MS-DataAccess updaten, erhältlich auf der M$-Webseite...

http://www.mikrocontroller.net/forum/forum.php?que...

Frohen Rest vom Fest...
...HanneS...

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.