PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit MPCM / UART beim Mega8 / Tiny2313



Bart W.
02.05.2007, 12:18
Hallo

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

Ich möchte an einem Mega8 einen Wert über ADC einlesen, den per PWM an eine LED übergeben und den Wert noch an 2-3 Tiny2313 per UART senden, wo wiederum der Wert mittels PWM an einer LED ausgegeben wird. Das klappt auch schon alles wunderbar.

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

Bart W.
09.05.2007, 22:30
Hallo, kann den mir wirklich keiner helfen?


Gruß Bart

Bart W.
11.05.2007, 21:19
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

Slotte
26.11.2008, 13:50
ja hat sehr geholfen. ich hab immer vergessen die mpcm beim daten empfang auszuschalten. könntest du vieleicht deine beispiele nochmal uppen?
auch wenns schon über ein jahr her ist?!

das wär sehr nett

Gruß

Bart W.
26.11.2008, 20:25
Hallo Slotte

Eigentlich bin ich nicht davon ausgegangen nach einem Jahr noch diese Codeschnipsel auf meinem PC zu finden, aber etwas habe ich noch gefunden. Es sollte funktionieren, auch wenn ich es jetzt nicht mehr getestet habe, nur den Code kurz überflogen habe.

kurze Erklärung:
Der Sender liest per ADC von einen Poti ein und wandelt dies in einen Helligkeitswert um, der zum Empfanger gesendet wird. Dieser reagiert auf die Adresse 168 und 0 und gibt den Helleigkeitswert mithilfe von PWM an einer LED aus. Ich habe zwei Adresse eingebaut, weil damals geplant war, die Empfanger einzeln und alle auf einmal ansprechen zu können.

Hoffe es hilf dir!
Bart