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

[mega8][bascom][przetwornik adc] - Błąd w programie

fiskusmati 19 Sie 2009 19:22 1846 10
  • #1 6910585
    fiskusmati
    Użytkownik obserwowany
    Witam

    Przepisałem praktycznie słowo w słowo to co w zielonej ksiazce i wywala blad:

     error 42 ,  Line 27, Numeric parameter expected [Wart_ac] 


    O co chodzi? spodziewa sie liczby jako parametru? Ale o co mu chodzi?

    Tutaj cały kod:

    $regfile = "m8def.dat"
    $crystal = 8000000
    
    
    
    
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portd.5
    
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    
    
    Dim Wart_ac As Word
    Dim V As Single
    Dim Wart_nap As String * 4
    
    
    Start Adc
    
    Do
    
       Wart_ac = Getadc(5)
    
    
       Cls
       Lcd Wart _ac
    
    
    
       Lowerline
       V = Wart_ac * 0.0049
    
    
       Wart_nap = Fusing(v , "#.&&")
    
    
       Lcd Wart_nap
    
       Waitms 100
    
    Loop
    End
    
    
    


    Prosze o pomoc co tutaj jest nie tak bo juz ten kompilator mnie zaczyna wkurzać :-)


    Pozdrawiam
  • Pomocny post
    #3 6911927
    wader_669
    Poziom 28  
    usuwajac spacje sie kompiluje, sprawdzalem.
  • #4 6911940
    fiskusmati
    Użytkownik obserwowany
    Zapomniałem wtedy napisac post, ale sprawdzilem i faktycznie sie kompiluje


    ________________________________________________

    Czy ten przetwornik to taki jest lipny w tej atmedze8? Bo kurna dotkne do przewodu (taki wyjety ze skrętki obizolowany) i juz wskazuje 5,01V czy to jakies charakterystyczne? to samo sie dzieje jak dotkne do plusa zasilania.

    Do aref podłaczyłem koncensator 100nF i do masy.

    w ogole jak nie podaje zadnego napiecia to skacze tak nawet do 0,3V


    Istnieje funkcja "Zmień" i proszę z niej korzystać. Posty scaliłem. [c_p]
  • Pomocny post
    #5 6914099
    Konto nie istnieje
    Poziom 1  
  • #6 6914151
    fiskusmati
    Użytkownik obserwowany
    Ja wiedziałem gdzie jest bład :-) Tzn w której linii, jak sie kliknie 2 razy na blad to zanosi cie do tej linii z bledem


    Proszę was zróbcie cos normalnie mam napięcie 4,30 V (z tego samego zródła co zasilam uC, tyle ze jest opór i nie ma 5v tyko 4,30) i nie wiem czemu mega8 non stop pokazuje 5,01V kiedy podlacze do niej jakies wieksze napiecie powyzej 3V do 5V.


    Cały czas adc generuje liczbe 1023 czy to cos charakterystycznego? Moze mam spalony ten adc albo muszę cos ustawic?
  • Pomocny post
    #7 6914388
    manekinen
    Poziom 29  
    Wprowadzasz troche zamieszania, nie wiadomo o co dokładnie chodzi :).

    Pytasz czemu napięcie w zakresie od 3V do 5V podawane na ADC skutkuje wynikiem 1023? A jak ustawiłeś napięcie odniesienia? z tego co widze to 'internal', a teraz otwórz notę swojego procesorka i sprawdź jakie ma wewnętrzne VREF. Więc w czym problem? Jeśli dasz napiecie większe niż napięcie odniesienia, zawsze otrzymasz wynik 1023 - a jako gratis możesz sobie uszkodzić sam przetwornik (też patrz w notę).

    Dotykasz wejscie przetwornika paluchem i nazywasz go lipnym jeśli reaguje? Otóż wejście takiego przetwornika wymaga bardzo małego prądu do odczytu, rzędu uA. Po mojemu to zaleta :)
  • #8 6914401
    fiskusmati
    Użytkownik obserwowany
    Dzięki za rozjasnionko czyli 2,56V to max, a co mam zrobic zeby miec do 5V? Wystarczy podłączyc avcc do 5V? a to aref z tym kondensatorkiem zostawić?
  • Pomocny post
    #9 6914501
    Konto nie istnieje
    Poziom 1  
  • #10 6914508
    fiskusmati
    Użytkownik obserwowany
    A jak zrobic taka cewke?
  • Pomocny post
    #11 6915845
    Konto nie istnieje
    Poziom 1  
REKLAMA