Witajcie.
Napisałem program do urządzenia do samochodu, żeby po krótkim naciśnięciu manetki kierunkowskazów dorobił jeden długi sygnał (komputer BSI to przerobi na 3 błyśnięcia kierunkami)
Nie mogę nigdzie znaleźć błędu w programie - a błąd polega na tym, że po krótkim wyzwoleniu kierunku zapalamy wyjście i zaczyna odliczać czas (powiedzmy w sekundach) t1 od 0 do 6 do wyłączenia. Jeśli jednak w czasie kiedy t1 jest od 0 do 6 naciśniemy manetkę kierunku i przetrzymamy aż t1 dojdzie do 7 to robi się echo i mimo, że jest warunek, który ma ignorować ponowne naciśnięcia manetki to tego nie robi
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i takie jeszcze pytanie bardziej z ciekawości, bo tutaj nie potrzebuje dokładnego czasu - jak ustawić, żeby mieć dokładnie co 1sek impuls.
F=9,6MHz
Teoretycznie ustawiając Prescaler na 64 a OCR0A na 150 powinienem mieć impuls sekundowy, a niestety tak nie jest
9600000 / 64 / 150 = 1000Hz
i teraz przy uint16_t = 1000 powinien być impuls sekundowy. a tak naprawdę poniższy program ustawiony jest na około 90 impulsów na minutę a zmienne są 8 bitowe.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.