sealforce napisał: wynik końcowy faktycznie za każdym razem jest inny.
@ emarcus możesz podpowiedzieć jak powinien wyglądać serwis int1?
Popatrzyłem troche bliżej na twoj kod.
Z jakiego powodu potrzebujesz otrzymać wynik ("Czas_2") z dokładnocią aż do 9 miejsc decimal?
Jeżeli jeden z czynników iloczynu (rozdzielczość timera) jest liczbą wymierną z dokładnościa do 3 miejsc (0.016 ms), a drugi czynnik jest liczbą całkowitą (ilość cykli timera1), to w każdym przypadku wynik (iloczyn) będzie potrzebował nie więcej niz 3 miejsca dziesietne./
Taki wynik jest dostatecznie dokładny i może być bezpośrednio wyświetlony na LCD z pominięciem zbędnej zamiany na string i dodatkowego formatowania, które z natury algorytmu przeliczania wprowadza sztuczną niedokładność wyniku.
Zakładając że impulsy do systemu podajesz "czyste", nie wymagające debounce i są w formie fali (powtarzające) więc wynik powinien być ciągle ten sam.
Poniżej masz troche skorygowany twój kod:
[code]
Zaloguj się, aby zobaczyć kod
Ten sam effect możesz osiągnąć o wiele krótszą drogą stosując inny koncept, bez używania interruptów w ogóle, podając sygnał na tylko jeden dowolny pin.
Zaintersuj sie stosowaniem pętli
WHILE - WEND
e marcus