guten abend :) hab das myavr board mk2 mit nem mega8, nun ist heute mein bestellter atmega328p gekommen den ich nun grad testen wollte... so nun hab ich das makefile geändert atmega8 durch atmega328p, aber bekomm beim compilieren fehlermeldungen (siehe screenshot -> anlage) muss ich den code etwa doch neu schreiben???
>muss ich den code etwa doch neu schreiben???
Nein, du musst nur die Registernamen anpassen. (S. Datenblatt)
Hallo chris, die Register für die USART(0) heißen beim ATMEGA328P anders. Das Datenblatt hilft Dir dabei weiter. Hier ein Auszug für die Initialisierung der USART0:
1 | void USART_Init( unsigned int ubrr) |
2 | {
|
3 | /*Set baud rate */
|
4 | UBRR0H = (unsigned char)(ubrr>>8); |
5 | UBRR0L = (unsigned char)ubrr; |
6 | /*Enable receiver and transmitter */
|
7 | UCSR0B = (1<<RXEN0)|(1<<TXEN0); |
8 | /* Set frame format: 8data, 2stop bit */
|
9 | UCSR0C = (1<<USBS0)|(3<<UCSZ00); |
10 | }
|
Hallo zusammen, ich habe ein ähnliches Problem, wie in dem alten Beitrag. Ich habe von einem Atmega88 auf einen atmega328p umgestellt. Seit diesem Zeitpunkt findet er meine Ports nicht mehr. Es heißt wie im Bild zu sehen, dass die Ports undekleriert sind. Ich dachte durch die AVR io.h ist das alles deklariert. Die wird in main.c eingebunden. Ist diese für einen Atmega328p falsch? Wo bekomme ich eine passende her? Martin
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.