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



Teraz jest 19 kwi 2026, o 20:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 9 kwi 2014, o 20:35 
Offline
Użytkownik

Dołączył(a): 17 mar 2014
Posty: 32
Pomógł: 0

Cześć próbuję zaprogramować działanie termometru ds18b20 i wyświetlić wynik na wyświetlaczy 7seg. Od kilku dni się z tym męczę już i tracę nadzieję. Wyświetlacze na pewno są podłączone dobrze bo już testowałem je na innych programach. Termometr podłączony jest w trybie normalnym. I nic mi ni czyta od razu pokazuje błąd. Może mam jakiś głupi błąd gdzieś proszę o pomoc.
Oczywiście wszystkie biblioteki mam dodane zgodnie z wskazówkami Pana Mirka.
main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


ds18x20.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

onewire.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


d_led.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


d_led.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Ostatnio edytowano 9 kwi 2014, o 21:40 przez mileksk8, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 kwi 2014, o 21:23 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Na początek odpal ograniczony kod (bez tego co było w pętli while(1)) i daj znać czy działa.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 kwi 2014, o 21:35 
Offline
Użytkownik

Dołączył(a): 17 mar 2014
Posty: 32
Pomógł: 0

nie działa dalej wyświetla mi błąd

------------------------ [ Dodano po: 1 minucie ]

tak jakby nie czyta mi funkcji odczytywania temperatury tylko od razu wyświetla mi to co jest pod funkcją błąd



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2014, o 07:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

a wstaw przed search_sensor : while(ow_reset);
Nie wiem za bardzo co masz w ciele tych funkcji dla obsługi 1wire, ale ja korzystam tez podczas wywołania bitu, odbioru, inicjalizacji z tego co znalazłem w 1wirze na płycie w bb: jakaś zmienna uint8_t sreg i na początku tychże funkcji sreg = SREG; cli();a na końcu nawet przez zwracaniem (jeśli coś zwraca) SREG = sreg; sei(); . Pamiętam miałem też dziwnie wydłużony czas konwersji, zamiast 750ms, ponad 10, 12s. I szukałem przyczyny i okazało się, że wyłączenie przerwań pozwoliło mi zejść do poziomu 750 ms - z noty.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2014, o 10:26 
Offline
Użytkownik

Dołączył(a): 17 mar 2014
Posty: 32
Pomógł: 0

Działa już mi miałem ustawione źle fuse bity ale teraz za to nie wyświetla mi temp dobrze tylko jakieś krzaki
mam taką funkcję do wyświetlania
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i taką tablice w d_led.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2014, o 14:31 
Offline
Użytkownik

Dołączył(a): 17 mar 2014
Posty: 32
Pomógł: 0

już prawie ogarnąłem tylko mam mały problem temperatura ciągle spada aż po niżej zera przy pomiarze temperatury w pokoju. Co może być przyczyną?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2014, o 16:51 
Offline
Użytkownik

Dołączył(a): 17 mar 2014
Posty: 32
Pomógł: 0

Jak chce wyświetlić dziesiątki i jedności to jakie działanie powinienem zastosować?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2014, o 17:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

mileksk8 napisał(a):
Jak chce wyświetlić dziesiątki i jedności to jakie działanie powinienem zastosować?



Jest taka funkcja nazywa się div
Znajduje się ona w stdlib.h, więc trzeba będzie ten plik zainkludować.

Funkcja div wymaga użycia specjalnego typu zmiennej div_t.
Ten tym jest strukturą która posiada dwa pola quot i rem
quot to wynik całkowity po dzieleniu, a rem to część ułamkowa.
Dzieląc liczbę przez 10 w polu quot mamny "dziesiątki" a polu rem "jedności"

Polecam zobaczyć poradnik Mirka o ADC. Tam jest to dobrze wyjaśnione i użyte na takim mniej więcej kodzie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2014, o 17:39 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Dobrze kombinujesz. Tak to ma być:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Do kodów dodaj sobie pusty znak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dodatkowo upewnij się co do kolejności wyświetlaczy wyświetlając napis HELO po starcie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Wystarczy zapalić kropkę, ale to już w funkcji przerwania ISR(TIMER0_COMPA_vect)

_________________
Dragonus Cracovus: Biomagia



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: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 12 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO