Forum: Mikrocontroller und Digitale Elektronik Umstieg von Atmega8 auf Atmega328p


von chris (Gast)


Angehängte Dateien:

Lesenswert?

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

von Gast (Gast)


Lesenswert?

>muss ich den code etwa doch neu schreiben???
Nein, du musst nur die Registernamen anpassen. (S. Datenblatt)

von Georg W. (gewe)


Lesenswert?

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
}

von chris (Gast)


Lesenswert?

ok danke hat funktioniert :)

von Martin E. (mrtnernst)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.