Forum: Mikrocontroller und Digitale Elektronik ATMEGA 162 und ATMEGA8


von The E. (the_engineer)


Angehängte Dateien:

Lesenswert?

Hallo,

bin gerade am verzweifeln.Habe einen ATMEGA8 und einen ATMEGA162
miteinander verbunden.MEGA8-TX an MEGA162-RX0 der Mega8 sendet alle 2
sekunden mit der selben Baudrate ( 19200 ) ein "h".Funktioniert, habe
das "h" schon gesehn*g

Der Mega162 soll es auf RX0 empfangen und an TX1 ausgeben.Wenn die
Controller nicht verbunden sind, dann reagiert der MEGA162 auch
noch(Taster,LED o.ä) sobald diese verbunden werden nicht mehr.(Haben
beide das selben Massepotenzial).

Er scheint also irgendwas zu bekommen, aber es wird nichts auf TX1
ausgeben.
Weiß so langsam keinen Rat mehr.

Interrupt Recive Routine verkehrt ? Da ich beim Compillieren folgende
Warnung bekomme :

main.c:49: warning: `SIG_UART0_RECV' appears to be a misspelled signal
handler

Danke im vorraus ! Prog ist im Anhang.
Gruß
Thorsten

von Rahul (Gast)


Lesenswert?

Hast du mal einen Blick in die LIB-C geworfen, wie der Handler heissen
soll/müsste/könnte?

von Michael Klaube (Gast)


Lesenswert?

kann es sein, dass der ATMEGA162 schon eine USART schnittstelle hat, und
du aber im SIGNAL SIG_UART0_RECV eingeben hast?

SIG_USART0_RECV  ist das wahrscheinlich das richtige

von mr.chip (Gast)


Lesenswert?

So wie es scheint, hast du den Namen für die ISR falsch geschrieben =>
der Interrupt kann also nicht korrekt abgearbeitet und insbesondere
nicht korrekt beendet werden => das Programm wird einfach an der Stelle
im Flash weitergeführt, die nach dem Interruptvektor kommt. Keine
Ahnung, wie sich dies auswirkt ;-)

(Möglicherweise täusche ich mich, und es ist bereits in der
C-Bibliothek ein sicherer Rücksprung für die ISRs implementiert.)

von The E. (the_engineer)


Lesenswert?

*AHHHHHHHH

Es was das "s" !!!

Habe in der Lib sogar nachgesehen aber vor lauter Buchstaben den
unterschied UART und USART nicht gesehen ! Ach könnt in die Tischkante
beißen, da ich seit heute mrgen daran gesucht habe! Naja egal jetzt
weiß ich bescheid.

Warnung im Compiler ist auch weg. Sollte vielleicht mal die Warnungen
lesen und nicht nur die Errors*g

Danke es funktioniert mit dem "USART"

Gruß
Thorsten

P.S.

Was ist der Unterschied zwischen UART und USART ?

von Rahul (Gast)


Lesenswert?

"Was ist der Unterschied zwischen UART und USART ?"
Ein 'S' ...für "synchronous"
Der USART kann mehr...

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.