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



Teraz jest 9 kwi 2026, o 18:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 13 wrz 2015, o 17:11 
Offline
Nowy

Dołączył(a): 08 wrz 2015
Posty: 4
Pomógł: 0

Witam szanownych forumowiczów!

Wiem, że temat tych czujników był już tutaj wałkowany, i właśnie dlatego chciałbym skorzystać z waszego doświadczenia :) Przeglądałem już inne wątki o ich obsłudze, i skleciłem takie coś. I nie działa.

uC: Atmega8L, ustawiona na 8Mhz
Piny:
TRIG - PB6
ECHO - PB0 (ICP1)
LEDy - PC0-5
Nie posiadam wyświetlacza LCD, stąd wynik rzucam na PORTC.

Kod:

Cytuj:
#define F_CPU 8000000L <---- tego NIGDY nie robi się w kodzie - mirekk36


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


Objawy:
LEDy nie wyświetlają wyniku (wszystkie zgaszone).
Na PB6(TRIG) pojawiają się cykliczne piki - sprawdzone multimetrem.
ECHO oddaje cykliczne piki - j.w.

Inne info:
Wcześniej napisałem program z wykorzystaniem INTów, który działa. Więc zarówno Atmega jak i czujnik są sprawne.
Zależy mi na wykorzystaniu Input Capture. Układ niby prosty, ale siedzę nad nim już cały dzień, i nie mogę go ruszyć. Może program potrzebuje po prostu świeżego oka :)
Nigdy wcześniej nie korzystałem z ICP, więc błąd może siedzi w konfiguracji TCNT1?

Za wszelką pomoc/sugestie będę wdzięczny!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2015, o 18:47 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

topic3090.html#p36705
topic2655.html#p31694


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2015, o 20:55 
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

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

Tak się nie sprawdza stanu bitu w rejestrze. ICES1 to po prostu liczba określająca numer bitu. Zrób tak samo jak odczytujesz stan przycisku.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 wrz 2015, o 14:21 
Offline
Nowy

Dołączył(a): 08 wrz 2015
Posty: 4
Pomógł: 0

O definiowaniu częstotliwości doczytałem.
SunRiver, na podstawie tych wątków pisałem program. Bazowałem przede wszystkim na kodzie użytkownika kiclaw, pomijając wykorzystanie UART.
Błąd trafnie wskazał Krauser - po poprawieniu działa jak należy.
Bardzo Panom dziękuję za pomoc.

Kod postarałem się maksymalnie odchudzić, może komuś jeszcze się przyda.
Obsługa samego czujnika, bez wyświetlania wyniku.
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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