Witam
Zrobiłem układ do sterowania 12 przekaźnikami z 12 różnych wejść.
Klawisze 1-4 - PORTC
Klawisze 5-12 - PORTD
Do tego celu wykorzystuję funkcję SuperDebounce autorstwa Pana Mirka.
Wywołanie funkcji:
Kod:
SuperDebounce(&PINC, KL1, 1, 100, kl1_press,kl1_long);
SuperDebounce(&PINC, KL2, 1, 100, kl2_press,kl2_long);
SuperDebounce(&PINC, KL3, 1, 100, kl3_press,kl3_long);
SuperDebounce(&PINC, KL4, 1, 100, kl4_press,kl4_long);
SuperDebounce(&PIND, KL5, 1, 100, kl5_press,kl5_long);
.....
I niestety od klawisza nr 5 zaczynają się schody ponieważ jest on podłączony do innego portu niż klawisze 1-4.
Powoduje to dziwne zachowanie wszystkich pinów. Po wyrzuceniu wywołania metody z klawiszem 5 wszystko wraca do normy.
Podsumowując program działa poprawnie tylko wtedy gdy używam przycisków 1-4 lub 5-12, przy użytkowaniu obu portów funkcja się nie sprawdza. Czy ktoś ma pomysł jak to naprawić ?