Blir snart galen på att exempelkoden från databladet inte kompileras av avr-gcc. Koden det hela gäller:
Kod: Markera allt
#include <stdint.h>
#include <avr/io.h>
#define FOSC 8000000 // Clock Speed
#define BAUD 9600
#define MYUBRR FOSC/16/BAUD-1
void USART_Transmit(unsigned char data);
void USART_Init(unsigned int ubrr);
int main(void) {
USART_Init(MYUBRR);
while(1) {
USART_Transmit('a');
}
return 0;
}
void USART_Transmit(unsigned char data) {
// Wait for empty transmit buffer
while ( !( UCSRnA & (1<<UDREn)) )
;
// Put data into buffer, sends the data
UDRn = data;
}
void USART_Init(unsigned int ubrr) {
//Set baud rate
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
// Enable receiver and transmitter
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
// Set frame format: 8data, 2stop bit
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}
main.c: In function 'USART_Transmit':
main.c:58: error: 'UCSRnA' undeclared (first use in this function)
main.c:58: error: (Each undeclared identifier is reported only once
main.c:58: error: for each function it appears in.)
main.c:58: error: 'UDREn' undeclared (first use in this function)
main.c:61: error: 'UDRn' undeclared (first use in this function)
Jag har definitivt valt rätt processor i Makefilen. Vad kan vara fel?
Tack på förhand!