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
Alex Neff schrieb: > Beim ATMega32 verwende ich "SIG_USART_RECV" bzw. "SIG_USART_DATA", http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Veraltete_Funktionen_zur_Deklaration_von_Interrupt-Routinen
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.
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.