s avr jsem zacatecnik takze pls za pochopení. Používám linux a kompiluju pres avr-gcc 3.4.5 . hw a makefile jsem použil z tohoto několik let stareho članku http://www.abclinuxu.cz/clanky/show/51521 a kod v c jsem pouzil odtud http://robotika.cz/guide/blink/cs . ledka bliká pekne ale kdyz sem se snazil zkompilovat projekt hello world z prvniho zminovneho clanku
#include <avr/io.h>
void print (char *string){
while (*string) {
loop_until_bit_is_set(USR, UDRE);
UDR = *string;
string++;
}
return;
}
int main(void) {
/* UART init */
sbi(UCR, TXEN);
sbi(UCR, RXEN);
UBRR = 59;
while (1) {
print ("Hello world.\n");
}
return 0;
}
tak nastaly chyba
avr-gcc -g -Wall -O2 -mmcu=atmega8 -c -o helloword.o helloword.c
helloword.c: In function ‘print’:
helloword.c:5: error: ‘USR’ undeclared (first use in this function)
helloword.c:5: error: (Each undeclared identifier is reported only once
helloword.c:5: error: for each function it appears in.)
helloword.c: In function ‘main’:
helloword.c:14: warning: implicit declaration of function ‘sbi’
helloword.c:14: error: ‘UCR’ undeclared (first use in this function)
helloword.c:16: error: ‘UBRR’ undeclared (first use in this function)
make: *** [helloword.o] Error 1
také jsem zjistil že cbi a sbi nejsou v nových verzích avr-gcc podporovány.
měl bych teda použít starší verzi gcc-avr nebo nejak nahradit cbi a sbi ? Opakuji jsem zacatecnik takze pls pochopitelne vystveleni. dik