Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 9 cze 2025, o 04:16


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
     Tytuł: ADC obliczenia
    PostNapisane: 28 gru 2011, o 17:33 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 gru 2011
    Posty: 110
    Lokalizacja: Dolnyśląsk
    Pomógł: 0

    Witam witam :)

    Mam problem dotyczący obliczenia podstawowego napięcia. kod z książki nie bardzo chce działać jak powinien za to działa u mnie taka wersja.

    Kod:
          pm = pomiar();             // odczyt wartości ADC np. = 450
          wynik = pm * 48;       // wynik = 194400
          cz_d = wynik/10000;         // część dziesiętna
          cz_u = (wynik%10000) / 10;   // część ułamkowa
          lcd_int( cz_d );
          lcd_char( '.' );
          lcd_int( cz_u );
          lcd_char( 'V' );


    Ale jeśli zamiast 48 napisze 483 to już wynik głupieje.

    Niecący jeszcze coś przy jarałem na płytce xP ale to chyba tylko dzielnik bo tak jak by z niego się zadymiło ^ ^'
    normalnie podłączałem dzielnik najpierw przez ten rezystor 10kOHM co jest na płytce. A do procka podłączałem 'wyjście' potencjometru. Działało ale nie uzyskiwałem maksymalnego napięcia 5V tylko 3 coś bo leci wszystko przez ów rezystor 10K. Pomyślałem że podłącze na odwrót i coś się przydymiło :(
    No ale zdaje się że wszystko działa jak należy. Jakieś sugestie, porady co do mojego wykroczenia ?

    No i chciałem się zapytać skąd w książce wzięło się
    Kod:
            return ADCW;

    W nocie PDF nie znalazłem tego ale już w plikach po naciśnięciu CTRL + LPM było.
    Co do tego to bardziej bym chciał wiedzieć jak szukać takich rzeczy na przyszłość :)

    Serdecznie pozdrawiam

    P.S zdaje sobie sprawy że mogę zadawać dość błahe pytania aczkolwiek chciałbym zrozumieć pewne aspekty a nie przechodzić boczkiem. Chodź i tak czasem robię.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2011, o 17:51 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27407
    Lokalizacja: Szczecin
    Pomógł: 1043

    Proszę spróbować tak pisać tę linijkę:

    wynik = pm * 48UL;

    czyli do liczby dodawać UL

    albo przed pm zrobić rzutowanie na typ uint32_t np tak

    Kod:
    wynik = (uint32_t)pm * 48;



    Była już też o tym mowa na naszym forum, przypomnę link:

    post743.html#p743

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 gru 2011, o 19:58 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 gru 2011
    Posty: 110
    Lokalizacja: Dolnyśląsk
    Pomógł: 0

    Dzięki wielkie :) bardzo mi pomógł i rozjaśnił parę aspektów ów odnośnik do innego tematu o tym na forum.

    Z drugiej strony szkoda że w książce nie było wyjaśnienia co do 'ADCW' oraz jakiejś notki odnośnie 'UL' a przydało by się.

    Całe szczęście że jest to forum i Pan Panie Mirku :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 gru 2011, o 21:51 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27407
    Lokalizacja: Szczecin
    Pomógł: 1043

    Co do UL to na pewno było wyjaśnienie. A z tym brakiem UL w tym akurat obliczeniu, to jak pisałem w tamtym wątku hmmm pewna nieścisłość bo nawet nie jest to błąd za bardzo.

    Tzn błąd jest wtedy gdy obliczana wartość przekroczy zakres uint16_t, ale to tylko mówi o jednym - ZAWSZE trzeba myśleć i pilnować typów. Akurat w tym doświadczeniu mierzyłem jakieś małe zakresy napięć i po prostu nie zauważyłem tego, że wartość może zostać przekroczona a nieco na wyrost napisałem, iż program może mierzyć napięcia w nieco większym zakresie. Ale cóż też jestem tylko człowiekiem ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 gru 2011, o 23:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 gru 2011
    Posty: 110
    Lokalizacja: Dolnyśląsk
    Pomógł: 0

    Rzeczą ludzką jest się mylić więc to normalne a co do UL to może jakoś mi po prostu umknęło. Tak czy siak dziękuje bardzo jak zwykle za cierpliwość do nowicjuszy takich jak ja :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 gru 2011, o 23:55 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27407
    Lokalizacja: Szczecin
    Pomógł: 1043

    DidekxD napisał(a):
    ... a co do UL to może jakoś mi po prostu umknęło.


    Rozdział:

    4.3.2.1 Stałe jako liczby całkowite

    ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO