ATNEL tech-forum
https://forum.atnel.pl/

HC-SR04 for Atmega 2560
https://forum.atnel.pl/topic23557.html
Strona 1 z 1

Autor:  BoykaP [ 21 sty 2021, o 19:08 ]
Tytuł:  HC-SR04 for Atmega 2560

Witam serdecznie.

Jestem zielony w dziedzienie AVR lecz od jakiegoś czasu staram się coś tworzyć.

Potrzebuję pomocy w modernizacji kodu pana Mirka.

Ogólne założenia:

- Atmega 2560 8 MHz
- HC-SR04
- LCD 2x16

Posiadam bibliotekę dla HC-SR04 myślę że problem leży w źle ustawionych Tiemrach.

Moje wszelkie próby zakończyły się klęską. Przeszukiwałem forum forum próbowałem lecz mam problem z ustawianiem timerów.

Proszę o pomoc, miejsca w których myślę że jest problem.

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

Autor:  wonsz [ 21 sty 2021, o 21:05 ]
Tytuł:  Re: HC-SR04 for Atmega 2560

To jeszcze może nam powiedz jaki efekt chcesz uzyskać :)

Autor:  mario2015 [ 21 sty 2021, o 22:14 ]
Tytuł:  Re: HC-SR04 for Atmega 2560

Nie jestem pewien ale 3 razy "przekopałem" datascheet dla ATmegi2560 i nie znalazłem tam rejestru TIMSK.
O co mi chodzi?
Konfigurujesz Timer1. Zbocze i preskaler ustawiłeś dobrze natomiast zezwolenie na przerwania wg. noty powinno być
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

U ciebie w linii 5 jest inaczej.
Nie wiem albo to jest źle wg mnie albo ja mam złą dokumentację tej ATmegi.
W mojej dokumentacji nie ma rejestru TIMSK, ponieważ rejestry te są numerowane np: TIMSK2 itp.
Oprócz tego w tym rejestrze nie znalazłem bitu o nazwie TICIE1.
Jeżeli moja dokumentacja dla tej ATmegi jest niekompletna i się mylę, to nie krzyczcie na mnie, że się nie znam i tę odpowiedź potraktujcie
tak jakby jej nigdy nie było.
No chyba, że coś przegapiłem w tej dokumentacji i to moja wina, no to sorry. Człowiek stary to i ślepy no ale cóż.
Dokumentacja, z której korzystałem jest w załączniku.

Autor:  BoykaP [ 23 sty 2021, o 08:40 ]
Tytuł:  Re: HC-SR04 for Atmega 2560

Aktualnie kod wygląda tak

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


Program nie wykonuje tego co znajduje się w if w pętli while.

Domyślam się że nadal posiada problem z timerem 4.

Widzi ktoś może jakiś błąd przez który program nie wykonuje się tak jak bym chciał ?

Autor:  mario2015 [ 23 sty 2021, o 15:50 ]
Tytuł:  Re: HC-SR04 for Atmega 2560

Spójrz na linie od 53 do 55 twojego kodu.
Konfigurujesz rejestr TCCR1B czyli zbocze i prescaler od TIMER1 a
później chcesz odblokować przerwania od Timera czwartego czyli :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  BoykaP [ 25 sty 2021, o 11:42 ]
Tytuł:  Re: HC-SR04 for Atmega 2560

Zmodyfikowałem kod.

Wygląda aktualnie tak.

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


Wykonuje się już kod w pęli while lecz bez prawidłowego pomiaru. Wydaje mi się że timery są już ustawione prawidłowo. Sprawdziłem datasheet kilka razy.

pomiar to 000020/000021 us.

Autor:  BoykaP [ 26 sty 2021, o 12:48 ]
Tytuł:  Re: HC-SR04 for Atmega 2560

Poprawiłem błąd w " ISR(TIMER4_CAPT_vect) "

z
ICIE4

na
ICES4

ale problem jest nadal.

Autor:  BoykaP [ 28 sty 2021, o 11:22 ]
Tytuł:  Re: HC-SR04 for Atmega 2560

Temat zamknięty.

Problem leżał w połączeniu zapomniałem że płytka przewodzi tylko do połowy linię zasilającą.

Dziękuje za pomoc pomogło mi to lepiej zrozumieć timery.

Gdyby ktoś chciał gotowy kod.

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

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/