Pokud me pamet neklame, tak k tomuto CPU pripojit nelze, nebot neobsahuje ISP rozhrani. Mel by jit pripojit k novejsimu CPU AT89S2051. Propojit napajeni a signaly -MISO, MOSI, SCK, RST. Signal MISO na CPU patri na MISO u programatoru (neni krizeni)
Příspěvky odeslané z IP adresy 81.19.7.–
Problem neni v prekladaci. Pokud se pozorne podivate do katalogoveho listu CPU ATmega8 (str.154), zjistite, ze tam zadny registr USR, UBRR ani UCR neni. Pokud tyto registry spravne pojmenujete, jiz lze prelozit bez problemu. Spravne pojmenovani registru lze najit v hlavickovych souborech k danemu procesoru, zde "iom8.h". Najdete jej nejspis v "/opt/cross/avr/include/avr/". Stejne tak prekladac nezna a nemuze znat funkci "sbi" a "loop_until_bit_is_set", ty je nutne nadefinovat bud makrem, nebo pouzit ponekud jiny zapis. Pro snadnejsi vyvoj Vam mohu doporucit editor Code::Blocks nejlepe v nejake verzi SVN. Spravna implementace programu pro avr-gcc je tedy treba tato:
#include <avr/io.h>
void print (char *string){
while (*string) {
while( UCSRA &(1<<UDRE) );
UDR = *string;
string++;
}
return;
}
int main(void) {
/* UART init */
UCSRB|=(1<<TXEN)|(1<<RXEN);
UBRRL = 59;
while (1) {
print ("Hello world.\n");
}
return 0;
}