Mam następujący problem. Skonfigurowałem sobie na DDRA dwa wyjścia i jedno wejście podciągnięte do masy oraz komunikację PC<>uC za pomocą RSa.
Gdy przyciskam guzik (zwieram wejście do masy) dostaję informację, że stan wejścia wynosi 0. Gdy puszczam przycisk - wejście jest rozwarte stan wejścia wynosi 1. Czyli wszystko OK.
Problem pojawia się gdy na wyjście podam sygnał (aby zapalić diodę). Gdy dioda zostaje zapalona a ja chce odczytywać wejście - które jest rozwarte czyli powinno być 1 - dostaję raz 0 raz 1. Problem nie znika nawet jeżeli zgaszę diodę. Jeżeli wyłączę i włączę uC to do momentu podania sygnału na wyjście wszystko jest w porządku.
Poniżej zamieszam listing kodu:
Gdy przyciskam guzik (zwieram wejście do masy) dostaję informację, że stan wejścia wynosi 0. Gdy puszczam przycisk - wejście jest rozwarte stan wejścia wynosi 1. Czyli wszystko OK.
Problem pojawia się gdy na wyjście podam sygnał (aby zapalić diodę). Gdy dioda zostaje zapalona a ja chce odczytywać wejście - które jest rozwarte czyli powinno być 1 - dostaję raz 0 raz 1. Problem nie znika nawet jeżeli zgaszę diodę. Jeżeli wyłączę i włączę uC to do momentu podania sygnału na wyjście wszystko jest w porządku.
Poniżej zamieszam listing kodu:
Kod: C / C++