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
Hast du mal einen Blick in die LIB-C geworfen, wie der Handler heissen soll/müsste/könnte?
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
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.)
*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 ?
"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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.