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
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.