www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Probleme mit MPCM / UART beim Mega8 / Tiny2313

Autor: Bart W. (flabig)
Datum:

Hallo

Ich arbeite mich in Assembler mit Atmel's Mikrocontroller ein.

Ich möchte an einem Mega8 einen Wert über ADC einlesen, den par PWM an
eine LED übergeben und den Wert noch an 2-3 Tiny2313 per UART senden.

Das hat auch schon alles wunderbar geklappt. Wenn ich jetzt die
MPCM-Adressierung hinzufüge funktioniert nicht mehr richtig. Egal ob ich
dem Tiny die richtige Adresse, eine falsche, oder das MPCM ganz weg
lasse, die Ausgabe-LED spielt verrückt. Ich habe auch leider keine
Beispiele im WEB/Datenblatt gefunden.

Kann sich bitte jemand mein Beiden Programme ansehen und mir helfen? Ich
schreibe mit dem AVR Studio.

Gruß Bart
Autor: jonny (Gast)
Datum:

welche Programme?
Autor: Bart W. (flabig)
Datum:

Ahh.. der Dateinanhang nimmt meine Daten nicht an!

Hier sind sie: http://home.arcor.de/bart.w/Code.rar
Autor: Bart W. (flabig)
Datum:

Hallo, kann den mir wirklich keiner helfen?

Ich hab weiter daran gearbeitet und habe die Code's so eingestellt:

Sender:
-MPCM ein
-9 bit
-sendet TXB8=1 + Adresse im UDR
-und dann TXB8=0 + Daten im UDR  (TXB8 wird immer zuerst geschrieben)

Empfänger:
-MPCM ein
-9 Bit
-RX Complete Interrupt ein
-liest zuerst RXB8 aus und vergleicht es mit 1 (hier bin ich mir aber
nicht                   sicher ob man das braucht)
-vergleicht dann die Adresse aus UDR
-wenn die Adresse stimmt, wird das MPCM-Bit gelöscht und Daten (TXB8=0)
können empfangen werden.
-nach dem letzten empfangenen Daten, setze ich das MPCM-bit wieder.

So sollte doch das ganze funktionieren, oder? Ich hab schon alles
probiert, mit 1 und 2 Stopbit, es funktioniert aber nicht.

Hier sind die zwei aktuellen Code's:

http://home.arcor.de/bart.w/code_2.rar

Gruß Bart
Autor: Bart W. (flabig)
Datum:
Angehängte Dateien:

So, nach endlosen Versuchen, habe ich herausgefunden das ein Tiny2313
defekt war und doch noch das Geheimnis von MPCM gelöst! (auch wenn ich
ganz schön viele Versuche fahren musste)

Da ich keine Beipsiel im Netz gefunden habe, setze ich meine
funktionierenden Codes hier rein.

Die Punkte die man beachten soll sind:

Sender:
- MPCM aus!
- Adresse (bei 9Bit) TXB8 = 1 (+ Adresse im UDR)
- Daten (bei 9Bit) TXB8 = 0 (+ Adresse im UDR)

Empfänger:
- MPCM ein
- bei empfang (z.B. RX-Interrupt) teste ich auf Adresse und schalte
gegebenfalls MPCM aus
- mit ausgeschaltetem MPCM empfang der Daten
- nach dem letzten Daten-Rahmen, schalte ich MPCM wieder ein.

Beispiele: http://home.arcor.de/bart.w/MPCM.rar

Vielleicht hilft es ja jemand!
Bart

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




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net