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

[Rozwiązano] ATmega32 - ADC zwraca 0 po dodaniu do pełnego projektu

KampoPampo 28 Paź 2018 18:45 642 7
REKLAMA
  • #1 17524106
    KampoPampo
    Poziom 6  
    Witam. Nie wiem w czym jest problem, ale nie mogę odczytac wartości z adc. W programie osobno z samą instrukcją do oczytu wartosci adc działa, ale dodając do pełnego projektu wartość znika i pokazuje cały czas 0.

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


    Nie wiem czy jest to spowodowane pętlą while czy innym czynnikiem. Jak mogę to rozwiązać?

    Pozdrawiam.
  • REKLAMA
  • #2 17524205
    excray
    Poziom 41  
    KampoPampo napisał:
    if(ADCW = true)

    Jak już coś to if(ADCW == true), choć i w tym przypadku test zwróci false bo po resecie ADCW = 0.
    BTW, do sprawdzania końca konwersji służy bit ADSC:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 17526501
    KampoPampo
    Poziom 6  
    Po zmianie problem sie nie rozwiązał gdyż jest taka sama sytuacja. Żadnej reakcji. Nie wiem w czym jest problem.
  • #4 17526937
    excray
    Poziom 41  
    KampoPampo napisał:
    Po zmianie problem sie nie rozwiązał gdyż jest taka sama sytuacja. Żadnej reakcji. Nie wiem w czym jest problem.

    Po zmianie czego? Napisałem Ci, że ten warunek się nigdy nie wykona, czyli co zmieniłeś że oczekujesz poprawy?
  • REKLAMA
  • #5 17528838
    Sławek-K
    Poziom 15  
    W funkcjach if masz jeden znak "=" .
    Do sprawdzenia warunku (a chyba o to chodzi ) należałoby napisać ==.
    O ile dobrze to zrozumiałem.......
  • REKLAMA
  • #6 17532018
    KampoPampo
    Poziom 6  
    Inaczej.

    Mam działający kod pod pomiar wilgotności z ADC.

    oto on:

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


    Chcąć go przenieść do innego projektu, bardziej złożonego, nie działa w ogóle i w tym przypadku nie wiem jaka jest przyczyna tego.
  • #7 17532180
    yokoon
    Poziom 29  
    DDRA &= ~(1<<PA0); /* ustawienie portu A na wyjście */

    Uważam iż ten zapis ustawia port na wejście.

    Tu na wyjście.
    DDRA |= (1<<PA0); //ustawienie pinu na wyjście
  • #8 17535857
    KampoPampo
    Poziom 6  
    Instrukcje od wywołania ADC przeniosłem do odpowiedniego segmentu menu.
REKLAMA