Forum: Compiler & IDEs serielle Übertragung zwischen zwei Atmega16 funktioniert nicht


von Zetöng von Fongtong (Gast)


Lesenswert?

Moin,

ich versuche eine MIDI Steuerung für meinen Selbstgebauten 
Gitarrenverstärker zu bauen.
In meiner Testschaltung versuche ich derzeit über die Serielle 
Schnittestelle informationen von einem Atmega16 zu einem anderen 
Atmega16 zu übertragen. Beide sind mit einem 3,6864Mhz Quarz getaktet. 
Das senden gelingt mir auch soweit (Das Oszi zeigt mir jedenfalls 
brauchbare Signale an). Der Empfänger bekommt mit wenn der RXD-Pin auf 
0V geht. Die Empfangsschleife wird jedenfalls unterbrochen als hätte er 
ein Signal empfangen, aber er macht keine Anstalten die Leuchtdioden 
umzuschalten.

Als Ausgabe benutze ich PortC und hin und wieder funktionieren alle 
I/O-Pins, aber in der Regel sind die mittleren 4 deaktiviert. Warum??

Jetzt frage ich mich ob die beiden Atmegas für die serielle Übertragung 
nicht Synchron genug laufen oder ob die Chips einfach falsch 
programmiert sind.

PS: Jetzt wurde aus dem Tutorial das Thema der Seriellen Übertragung 
(jedenfalls finde ich es nicht mehr) gelöscht und aus frust hab ich den 
einen Chip kaputt gefused und bekomme die Fuses nicht wieder 
zurückgesetzt, obwohl das Ding mit externem Takt arbeitet und ich wieder 
Daten lesen kann.

für jede Hilfe bin ich echt dankbar.

von Ralf (Gast)


Lesenswert?

Oh Mann, immer das gleiche...

- Schaltplan
- Code

> ...aber er macht keine Anstalten die Leuchtdioden umzuschalten.
Software-Fehler? Hardware-Fehler? Wer weiss das schon?

> ...aber in der Regel sind die mittleren 4 deaktiviert. Warum??
JTAG?

> Jetzt wurde aus dem Tutorial das Thema der Seriellen Übertragung
> (jedenfalls finde ich es nicht mehr) gelöscht
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

Ralf

von Karl H. (kbuchegg)


Lesenswert?

Zetöng von Fongtong schrieb:

> Atmega16 zu übertragen. Beide sind mit einem 3,6864Mhz Quarz getaktet.
> Das senden gelingt mir auch soweit (Das Oszi zeigt mir jedenfalls
> brauchbare Signale an).

OK. Das ist schon mal der erste Test.
Der nächste Test: MAX232 an die Schaltung ran. PC hochfahren. 
Hyperterminal starten, Baudrate einstellen und nachsehen ob das 
gesendete auch verständlich ist.

Selbiges beim anderen Mega16.

Dann vom PC aus den Empfänger ansteuern und nachsehen ob du vom 
Hyperterminal aus den Empfänger zu Aktionen bewegen kannst.

Alles andere ist stochern im Nebel, weil du nie weißt ob das Problem 
beim Sender oder beim Empfänger liegt. Also musst du einen der beiden 
durch eine erprobte Komponente austauchen um Tests zu machen.

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.