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

ATmega1284P - ADC nie kończy przetwarzania, brak flagi zakończenia

bisz 08 Paź 2013 12:24 1335 7
  • #1 12821445
    bisz
    Poziom 18  
    Witam,
    Usiłuję zmuśić Atmegę1284 do przetworzenia wartości przetwornikiem ADC, no i analizując kontrolne debugi na UART, przetwarzanie rozpoczyna się ale nie kończy (układ nie wystawia flagi), oto kod

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


    Gdzie może leżeć problem ?
  • #2 12821636
    Konto nie istnieje
    Konto nie istnieje  
  • #3 12821684
    Konto nie istnieje
    Poziom 1  
  • #4 12821704
    bisz
    Poziom 18  
    Witam,
    Faktycznie było w kodzie parę kompromitujących 'kwiatków' i ostatecznie obecna forma kodu zaczyna przetwarzać, ale wciąż są problemy innej natury.
    Oto kod :

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


    Problem teraz wygląda tak że odczyty z dwóch kanałów kłócą się. Tzn, jedno wejscie wisi w powietrzu, na drugim jest potencjometr. Gdy kręce potencjometrem od zera na do max faktycznie wartość zmienia się od prawie zera do powiedzmy 1023... Natomiast gdy na drugim wiszącym kanale coś przyłożę, np masę to automatycznie wartość odczytywana na kanale z potencjometrem również się zmienia..... Tak chyba nie powinno się dziać ?
  • #5 12821745
    Konto nie istnieje
    Poziom 1  
  • #6 12822394
    Dar.El
    Poziom 41  
    Po przełączeniu wejść pomiarowych nie można od razu włączać konwersi, trzeba poczekać aż pojemności wewnętrzne się przeładują na inne napięcie.
  • #7 12822998
    pawel1730
    Poziom 15  
    _marek napisał:
    ps. Reinicjowanie adc "w kółko macieju " to nie jest dobry pomysł.


    Jeśli masz na myśli tą linijkę:

    bisz napisał:
    void InitADC();


    To na mój gust tu nie ma żadnego wykonywania funkcji a jedynie jest jej deklaracja.
  • #8 12823758
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA