14-03-2018, 08:43
Witam,
Dyskusja już chyba toczy się bez udziału założyciela wątku :-)
Jeśli występowałby drgania (czyli coś niestabilnego i losowego) to wątpię, żeby ilość impulsów była dokładnie dwa razy większa od spodziewanej. Można przetestować jakie ilości otrzyma się dla innych "zdarzeń" wywołujących przerwania (podanych powyżej przez kolegę @kaczakata) i w ten sposób spróbować zdjagnozować przyczynę. Kompletnie nie wiadomo jaki enkoder został zastosowany i czy posiada on komparator. Poza tym, przy nie rozumie dlaczego enkoder ma rozdzielczość 16, a w programie obrót zwiększa się przy stanie licznika 1920?
@krn78- najprawdopodobniej dawanie pętli while() w funkcji obsługującej przerwanie nie jest dobrym rozwiązaniem.
Pozdrawiam,
Tomek.
Dyskusja już chyba toczy się bez udziału założyciela wątku :-)
Jeśli występowałby drgania (czyli coś niestabilnego i losowego) to wątpię, żeby ilość impulsów była dokładnie dwa razy większa od spodziewanej. Można przetestować jakie ilości otrzyma się dla innych "zdarzeń" wywołujących przerwania (podanych powyżej przez kolegę @kaczakata) i w ten sposób spróbować zdjagnozować przyczynę. Kompletnie nie wiadomo jaki enkoder został zastosowany i czy posiada on komparator. Poza tym, przy nie rozumie dlaczego enkoder ma rozdzielczość 16, a w programie obrót zwiększa się przy stanie licznika 1920?
@krn78- najprawdopodobniej dawanie pętli while() w funkcji obsługującej przerwanie nie jest dobrym rozwiązaniem.
Pozdrawiam,
Tomek.