Chyba 255 ale to tylko tak dla porzadku.od wartości 0 do wartości 256 .
Czesc odczytujaca (a wlasciwie zliczajaca nie odczytujaca) jak najbardziej dziala, i to o dziwo poprawnie!!! Tyle ze liczy Ci impulsy (a dokladniej narastajace zbocza) na wejsciu timera0. Tobie zas o ile rozumiem chodzi o odmierzenie czasu (taktow uC). Poczytaj o konfiguracji timera i popraw zaznaczona linijke.Układ po stanie 1 na pinie PB2 powinien wystartować licznik timer0 gdy stan sie zmieni na 0 zatrzymać licznik . Wartość licznika zostanie odczytana przez cześć wykonawczą ( to mi pracuje )
program nie odczytuje wartości timer0
(...)
' czesc odczytujaca ktora nie dziala
Config Timer0 = Counter , Edge = Rising 'wyzwolenie timera0 z zbocza narastajacego
If Pinb.2 = 1 Then Start Timer0 'wystartowac timer przy stanie 1
If Pinb.2 = 0 Then Stop Timer0 ' zatrzymac timer po uzyskaniu stanu 0
Pozatym te ify... to powinienes umiescic najlepiej w przerwaniu, odpowiednio zmieniajac jeszcze reakcje przerwania. Bo teraz co... ani to petla, ani... sprawdzi raz i wystartuje albo zastopuje timer i tyle. Zwykle umieszczenie w petli tez niewiele da, bo bedzie startowac/stopowac timer co kazde przejscie, zaleznie od stanu... trzeba by dolozyc jakies sprawdzenie czy stan Pinb.2 ulegl zmianie od poprzedniego przejscia przez petle.
Kod: Zaznacz cały
zmienna.new = Pinb.2;
If (zmienna.new != Zmienna.old) then begin
if zmienna.new = 1 then start timer0;
if zmienna.new = 0 then stop timer0;
end if;
zmienna.old = zmienna.new;