pętla while(1) {} w przerwaniu ?????? To tak jakbyś sobie założył pętlę na szyję a drugą część sznura przywiązał do wysokiej gałęzi i skoczył w dół a później się dziwił dlaczego ci oczy na wierzch wychodzą i jakoś tak duszno się robi ....
sorki ale ten kod w ogóle nie ma prawa działać - przynajmniej to co w pętli głównej
------------------------ [ Dodano po: kilkunastu sekundach ]poza tym co to za jakieś ustawianie portów, pinów - niestety masakra
avatar12345 napisał(a):
DDRB = 0xff;
PORTB = 0x00;
DDRD = 0x04;
PORTD = 0x04;
------------------------ [ Dodano po: 1 minucie ]avatar12345 napisał(a):
unsigned char binary_pattern[]
w avr gcc masz do tego prosty typ uint8_t a nie jakieś tam kocie unsigned char
------------------------ [ Dodano po: 2 minutach ]pomijam już fakt że nigdzie nie ma inicjalizacji dla przerwania INT0
------------------------ [ Dodano po: 3 minutach ]avatar12345 napisał(a):
cli();
jeśli nigdzie wcześniej w kodzie nie dawałeś sei() to pisanie cli() jest kolejnym nieporozumieniem i w ogóle niepotrzebne
------------------------ [ Dodano po: 4 minutach ]avatar12345 napisał(a):
for(int i=0; i < 10; i++){
w takiej pętli stosuje się typ uint8_t jeśli zmienna iteracyjna ma zliczać tylko w tak małym zakresie 0-9
------------------------ [ Dodano po: 4 minutach ]avatar12345 napisał(a):
void Miganie(){
_delay_ms(1000);
}
jaki sens ma ta funkcja skoro to żadne miganie tylko zwykły delaj - kompletnie niepotrzebna funkcja
------------------------ [ Dodano po: 5 minutach ]avatar12345 napisał(a):
return 0;
jak masz pętlę główną while to
return 0; nigdy nie jest potrzebne
------------------------ [ Dodano po: 6 minutach ]Ja bym polecił tobie naprawdę zacząć od książki
https://atnel.pl/mikrokontrolery-avr-jezyk-c.htmlona jest stworzona właśnie dla początkujących i nigdy nie pisałbyś w ten sposób programów dzięki niej - polecam - poważnie
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]