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



Teraz jest 9 lip 2025, o 15:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 1 sie 2014, o 09:33 
Offline
Nowy

Dołączył(a): 24 lip 2014
Posty: 24
Pomógł: 0

Cześć,
Mam zestaw ATB 1.04 Chciałem potrenować na nim wykorzystywanie jednego portu do wielu operacji. Na początku BUZZER miałem podłączony do portu B, co by było łatwiej, a 5 diod LED oraz dwa przyciski podłączone do portu D. Diody podpięte w odwrotnej kolejności czyli: PD7 - dioda skrajna po prawej oraz PD3 - dioda nr 5 licząc od prawej.

Naciskając lewy przycisk zapalają się kolejne diody LED jadąc w prawo, a gdy zapali się ostatni (PD3) wtedy krótki sygnał dźwiękowy. Przycisk prawy - kolejne gaszenie i dźwięk na końcu.

Zrobiłem maskowanie, żeby przesunięcie bitowe nie miało wpływu na przyciski i na odwrót. Wszystko elegancko chodziło. Nadeszła kolej na dołączenie jeszcze BUZZERA do portu D, a konkretnie PD2. I tu pojawił się problem. Wydaje mi się, że dobrze napisałem maskowania, a prawidłowo działa jedynie buzzer wydając pisk na skrajnych pozycjach. Diody natomiast mają teraz trochę inne te skrajne pozycje :)

Byłbym wdzięczny, gdyby ktoś wyjaśnił co zrobiłem źle.

Pozdrawiam.

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


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



main.c
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.

_________________
ATB 1.04 + BTM-222 + BLUEBOOK + GREENBOOK



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sie 2014, o 19:37 
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

Jeśli dobrze zrozumiałem opis to masz złą jedną skrają pozycję. Drugi błąd to ustawianie PD7, a w kolejnej linii zerowanie tego bitu przesunięciem w złą stronę. Tak bym to zrobił:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

jest niepotrzebne

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

Pobierasz int, a porównujesz w funkcji z uint8_t co dla beep_time > 255 spowoduje zapętlenie się programu.

Buzerowi wystarczy:
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: 1 sie 2014, o 22:20 
Offline
Nowy

Dołączył(a): 24 lip 2014
Posty: 24
Pomógł: 0

Dziękuję za pomoc:) Nie mogłem sobie wyobrazić jak się "zachowują" kolejne bity. Dzięki podpowiedzi dopracowałem kod i teraz buzzer, switche oraz diody LED podpięte pod ten sam port działają tak jak chciałem, czyli 'ala' jak pasek VOLUME.

Co do 'PS' - to by wyjaśniło czemu wyskakują warningi.

Poprawka kodu:

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

_________________
ATB 1.04 + BTM-222 + BLUEBOOK + GREENBOOK



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

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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO