Forum: Mikrocontroller und Digitale Elektronik Von ATmega32 auf ATmega328P, USART-Vektor


von Alex N. (alex009)


Lesenswert?

Hallo,

ich habe ein auf dem ATMega32 lauffähiges Programm versucht auf ein 
Arduinoboard mit einem ATmega328P zu übertragen.
Leider habe ich noch ein paar Probleme mit den Bibliotheken für die 
USART-Schnittstelle bzw. den Vektoren.
Beim ATMega32 verwende ich "SIG_USART_RECV" bzw. "SIG_USART_DATA", 
welche ich auch in der iom32h.h gefunden habe. Damit funktioniert die 
serielle Kommunikation.
Beim ATMega328P bin ich mir nicht sicher, ob die iom328p.h die richtige 
Bibliothek ist. Dort werden "USART_RX_vect" bzw. "USART_UDRE_vect" 
verwendet.

Ist diese Bibliothek die richtige ?
Welche MCU muss ich im makefile angeben ?
Ist die IR-Vektor-Bezeichnung ("USART_RX_vect" bzw. "USART_UDRE_vect") 
so korrekt ?

Gruß Alex

von Karl H. (kbuchegg)


Lesenswert?


von Alex N. (alex009)


Lesenswert?

Danke für die schnelle Antwort,

ich verwende eigentlich die UART-Bibliothek von Peter Fleury.
Er hat sich die Arbeit gemacht, für alle gängigen AVR-Controller
die defines (nach dem alten Standard) aufzulisten. Das Einbinden ist 
dann einfach. Nur beim 328P scheint es nicht zu passen, da die oben 
beschriebene iom328p.h hier nicht passt.
Ich bin mir aber nicht sicher, ob diese Bibliothek überhaupt benutzt 
wird.
Daher meine Frage.

von Jörg H. (idc-dragon)


Lesenswert?

Karl-Heinz,

ich glaube der hintere Teil des Wiki-Absatzes ist nicht aktuell, 
unterbrechbare ISRs kann man doch mit dem Zusatz ", ISR_NOBLOCK" 
definieren?

Ich fühle mich aber nicht so autoritär, das im Wiki zu ändern...

Jörg

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.