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 6 cze 2025, o 04:04


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 9 gru 2014, o 07:59 
    Offline
    Użytkownik

    Dołączył(a): 08 gru 2014
    Posty: 53
    Lokalizacja: Sz-n
    Pomógł: 0

    Witam,

    Jestem tu nowy, więc jeśli nie ten dział, to proszę o przeniesienie.
    W języku C dla AVR programuje od niedawna, wcześniej przez lata siedziałem w Bascomie, ale zdecydowałem się na przesiadkę.

    Chciałem się dowiedzieć, jak obsłużyć poprawnie ADC w trybie FreeRunning na wielu kanałach? Jeśli pojawi się flaga ADIF, skąd mam wiedzieć, z którego kanału jest zmierzona wartość w rejestrach ADCH i ADCL?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 gru 2014, o 16:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sty 2013
    Posty: 1760
    Pomógł: 196

    Witam
    m@ciej napisał(a):
    skąd mam wiedzieć, z którego kanału jest zmierzona wartość w rejestrach ADCH i ADCL?

    Skoro nikt nie pisze "na pewno" ja odpowiem "chyba" ... po znajomości ustawienia w danej chwili MUX'ów ( rejestry konfiguracyjne PIN wejściowy ).

    Pozdr.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 gru 2014, o 16:42 
    Offline
    Moderator
    Avatar użytkownika

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

    m@ciej napisał(a):
    Chciałem się dowiedzieć, jak obsłużyć poprawnie ADC w trybie FreeRunning na wielu kanałach?

    Warto właśnie zacząć od podstaw czyli jak się obsługuje ADC na wybranym kanale i to obsłużyć - to nie byłoby w ogóle pytania ;) bo przecież po to jest właśnie rejestr ADMUX. Reasumując - nie trzeba zgadywać z którego pomiaru jest wynik - to ty jako programista o tym decydujesz

    _________________
    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: 10 gru 2014, o 17:39 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2013
    Posty: 647
    Zbananowany użytkownik

    Pomógł: 101

    pewna mądra książka napisał(a):
    "...zmiana stanu bitów MUX zaczyna obowiązywać dopiero przy kolejnym pomiarze, gdyż w trybie ciągłej konwersji ich zmiana zawsze zachodzi w sytuacji, kiedy przetwornik zajęty jest przetwarzaniem sygnału"

    _________________
    +++++[>++++<-]>[>++++++<-]>.---------.+++.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 gru 2014, o 13:28 
    Offline
    Użytkownik

    Dołączył(a): 08 gru 2014
    Posty: 53
    Lokalizacja: Sz-n
    Pomógł: 0

    Na jednym kanale to banał. Ustawiamy ADC, ustawiamy MUXa i polecenie konwersji na początku programu, a w pętli głównej (najlepiej chyba) oczekujemy na flagę ADIF i jak się pojawi, przepisujemy do potrzebnej zmiennej dane z rejestrów ADCH i ADCL.

    Jednak konieczność przełączania MUXa w pętli powoduje, że jak już pojawi się flaga ADIF, skąd mam wiedzieć, z którego kanału dane pochodzą? Ponownie sprawdzać MUX?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 07:00 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sty 2013
    Posty: 1760
    Pomógł: 196

    Witam
    Ja to robiłem tak ( fragmenty kodu ):
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Pozdr.



    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ł: Majestic-12 [Bot] 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