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


von Bart W. (flabig)


Lesenswert?

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

von jonny (Gast)


Lesenswert?

welche Programme?

von Bart W. (flabig)


Lesenswert?

Ahh.. der Dateinanhang nimmt meine Daten nicht an!

Hier sind sie: http://home.arcor.de/bart.w/Code.rar

von Bart W. (flabig)


Lesenswert?

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

von Bart W. (flabig)


Angehängte Dateien:

Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.