www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega324P Usart UDR0 lässt sich nicht beschreiben


Autor: Jan Herzog (linklon)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Im folgenden Programmteil probiere ich UDR0 zu beschreiben, diese 
ignoriert allerdings die Aufforderung und sendet stur 0. Der Controller 
sollte DMX Signal generieren welches aus 513 Frames zu 8bit mit jeweils 
2 Stoppbits besteht .Die Usart wurde initialisiert und sendet auch mit 
der richtigen Baudrate, nur die Frames haben Alle wert null (mit KO 
gemessen)
Mir gehen langsam die Ideen aus...

dmxsend1:    lds rmp,ucsr0a
    sbrs rmp,udre0
    ret
           ldi templ,low(ch512out)
    ldi temph,high(ch512out)
    cp xl,templ
    cpc xh,temph
    brsh makebrake
    ld rmp,x+
    sts udr0,rmp
    ret

Ich habe den completten Code angehängt

Autor: Jan Herzog (linklon)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry... nochmals den code in aufgeräumter version...

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Im Simulator läuft der Code eigentlich.

>(mit KO gemessen)

Was ist KO?

MfG Spess

Autor: Jan Herzog (linklon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit Jtagice läuft der Code auch durch, lädt die richtigen Werte (128) in 
rmp und schreibt sie vermeitlich ins UDR0 lediglich wenn ich mir UDR0
anschaue ändert sich der Wert da nicht. senden tut er auch, dh. er hat 
gemerkt dass auf udrn geschrieben wurde, der break funktioniert auch. Am 
DMX Tester habe ich gültiges Signal, nur leider überall 0 drin....
Mit KO meine ich Kathodenstrahl Osziloskop. Ich kann jeweils nur die 
Stopbits sehen. Wenn Ich ein Signal mit dem Tester generiere, kann ich 
bit für bit sehen...

Gemäss dem was das Datenblatt sagt sind auch alle Bedingungen erfüllt,
um auf UDR0 zu schreiben.... (Usart Initialisiert, UDRE0 =1 )

Irgendwo ist hier der Wurm drinn....

Autor: Jan Herzog (linklon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Folgendes kann ich nun mit sicherheit sagen:

UDR0 wird beschrieben,da am Ausgang Signal vorhanden ist (auf dem Oszi 
sind jeweils die Stoppbits zu sehen dh. gesendeter Wert = 0)
alle Frameeigenschaften und Baudrate sind ok, da mein DMX-Tester "valid 
DMX" anzeigt. Auch die Anzahl der Kanäle stimmt (512) +1 leeres 
Startbyte
(Timing auch per KO überprüft bzw. mit Signal von Lichtpult verglichen)

(sowohl Lichtpult als auch DMX-Tester senden DMX gemäss Spezifikation 
DMX512/1990(signale mit KO vermessen))

Frameeigenschaften: 8bit 2 Stoppbit no parity auf 250k/Baud

Weiss jemand was zum ignorieren der Werte, die auf UDR0 geschrieben
werden führen kann? (ich stelle diese Frage nach eingehendem und 
"vergeblichem" Studium des Datenblatts)

bin für jede hilfe dankbar....

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.