logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Niedeterministyczne zachowanie wyjścia

Dilvish 29 Mar 2011 20:29 804 2
REKLAMA
  • #1 9338263
    Dilvish
    Poziom 12  
    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:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • Pomocny post
    #2 9338417
    Andrzej__S
    Poziom 28  
    Najpierw włączasz sobie wewnętrzny rezystor podciągający na pinie 3 portu A:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    a później wyłączasz:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Jeśli nie masz zewnętrznego rezystora podciągającego, to na pin 3 portu A masz stan nieustalony.
  • #3 9338893
    Dilvish
    Poziom 12  
    Andrzej__S napisał:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Jeśli nie masz zewnętrznego rezystora podciągającego, to na pin 3 portu A masz stan nieustalony.


    Wielkie dzięki!
    Nie ma to jak świeże spojrzenie na kod.
REKLAMA