Moim skromnym zdaniem
1. kondensatory nie zaszkodzą
2. rezystory podciągające włączone/zewnętrzne rezystory podłączone?
3. czemu masz takie dziwne rozpoznawanie kierunku, moim zdaniem powinno być tak że cały czas czekasz na stan niski na jednej z końcówek, po jego wykryciu sprawdzasz stan drugiej końcówki impulsatora jeżeli niski to ++ jeżeli wysoki to --, a jeszcze przed sprawdzeniem drugiej końcówki trzeba wyeliminować drgania.
4. A co do kolegi "dondu" i
to raczej te 100us w tym przypadku nie służy eliminacji styków. Kolega z chyba posiadanego doświadczenia jeżeli uważa że te 100us służy eliminacji drgań powinien zwrócić koledze uwagę że to nie wystarczy.
A co będzie jak na wejściu pojawi się przypadkowy impuls?
5. Nie widząc większego fragmentu kodu mogę się spodziewać że ten case leży w jakiejś pętli nieskończonej która się wykonuje o określony czas czyli o te 100us.
... i dodatkowo opóźnienie 100us to raczej za mało jak na eliminację drgań styków:
napisał byś coś więcej i pokierowałbyś chociaż kolegę w którym kierunku ma iść. pojedyncze słowa "że to za mało" można zinterpretować błędnie tak jak ja to zrobiłem. Po Twoich słowach zrozumiałem, że opóźnienie 100us jest za krótkie i trzeba je wydłużyć np do 200us tak samo mógł pomyśleć autor - nieprawdaż . No chyba że jestem za głupi na czytanie tego forum i interpretowanie co użytkownicy mają na myśli.
dondu napisał:
Ale jeżeli już, to napisz koledze jak ma je podłączyć.
Idąc kolegi torem myślenia nie muszę pisać jak to się robi ponieważ kolega opisał to już na swojej stronie Link którą poleca.
Jutro już timera się uruchomi i będzie tam jeszcze dorzucony PWC dla silnika bezszczotkowego a dokładnie jego sterownika.
Tak ogólnie dzięki za pomoc ;]
... i dodatkowo opóźnienie 100us to raczej za mało jak na eliminację drgań styków:
napisał byś coś więcej i pokierowałbyś chociaż kolegę w którym kierunku ma iść. pojedyncze słowa "że to za mało" można zinterpretować błędnie tak jak ja to zrobiłem. Po Twoich słowach zrozumiałem, że opóźnienie 100us jest za krótkie i trzeba je wydłużyć np do 200us tak samo mógł pomyśleć autor - nieprawdaż . No chyba że jestem za głupi na czytanie tego forum i interpretowanie co użytkownicy mają na myśli.
Moja wypowiedź była nieco dłuższa i wyjaśniająca wszystko co autor spotka przy enkoderze łącznie z czasem trwania drgań:
Idąc kolegi torem myślenia nie muszę pisać jak to się robi ponieważ kolega opisał to już na swojej stronie Link którą poleca.
i tam u góry właśnie pisze ile czasu trwa drganie, czyli podałem wszystkie informacje co powinien otrzymać Ale słusznie nie musiałeś już pisać, bo info o kondensatorach także, jest.
Choć osobiście odradzam ich stosowanie - program załatwi wszystko.
Co do przerwań , oczywiście jak najbardziej, jednak na początek sugeruję autorowi stosować zwykłe opóźnienia, by temat drgań opanować. A następną wersję już na przerwaniach pyknąć.