Kolego, a jak ma to działać? Popatrz, w linijce 77 masz
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
(celowo pominąłem resztę).
Oznacza to: dopóki "1" jest prawdą (a jest zawsze, bo fałsz to wartość 0) wywołuj funkcję blokada(). Czyli zadziała funkcja (10 zmian stanu na pinie buzera, następnie wyłączenie buzera), a następnie ta funkcja będzie wywołana jeszcze raz... i jeszcze raz... i jeszcze miliard razy.
Jeśli chcesz wywołać tą funkcję raz, a później "zablokować" program, to zrób to tak (linijki od 75):
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W tym przypadku funkcja blokada() zostanie wywołana raz, a później będzie się wykonywała pusta, zaznaczona linijka
EDIT:
Teraz zauważyłem:
wrctomi napisał(a):
A nie suma bitowa (OR)
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
UWAGATo, co jest napisane do końca postu to głupoty... nie stosować, nie powielać!!Nie, tam ma być suma logiczna ||
Zauważ, że 1<<PB3 ustawia tylko jeden bit w rejestrze. Stosując || ustawiasz ten jeden, konkrety bit pozostawiając pozostałe bez zmian