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



Teraz jest 16 kwi 2024, o 22:28


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 18 lut 2021, o 23:17 
Offline
Nowy

Dołączył(a): 28 sie 2020
Posty: 2
Pomógł: 0

Witam wszystkich,

Przerabiam aktualnie ćwiczenia z BB, posiłkując się przy okazji filmami z YT z profilu Pana Mirka oraz archiwalnych tutoriali z mikropasji.

Przy ćwiczeniu z przerwań z okazji programowania obsługi wyświetlaczy 7 segmentowych natknąłem się na sytuację, którą nie jestem z powodu braków wiedzy rozwiązać, a nie chcę również przechodzić dalej z materiałem bez próby zrozumienia co się właściwie dzieje.
Pan Mirek zachęcił mnie do opisania problemu na forum, problem może komuś się wyda znajomy i pomoże.

Efektem ćwiczeń (książka, YT) powinno być pojawienie się czterech cyfr na wyświetlaczach (jako wartości stałe bądź odliczające się w dół od wartości 6000). W moim przypadku pojawiają się również kropki (DP). Zdjęcie pierwsze to program odliczający w dół, zdjęcie drugie to wyświetlenie cyfr 007.
ObrazekObrazek

Dla obu przypadków Anody podłączone były do PORTC 0-3. Zmiana na PORTD nic nie zmieniła - poniższy kod już portami D.

Użyty kod jest to klasyczny kod z BB, wkleję tylko fragmenty, nie wiem czy upublicznianie całego jest możliwe:
W poniższym kodzie forum ścina mi ten fragment, powinno być tak:

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


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


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

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


Przy podłączeniu Anod do PORTC i jednoczesnym zwarciu wszystkich 8 wyjść z wejściami LED i wprowadzeniu algorytmu na świecenie diodami jak KnightRider. kropki z wyświetlacza również się zapalają i gasną. Pokazane jest to na filmie (tylko cztery diody były podłączone do testów). Wydaje mi się, że nie powinno tak być.

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


Czy mam jakiś błąd w kodzie, którego nie potrafię dostrzec lub może coś źle podłączone w zestawie ATB?

Pozdrawiam
Łukasz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2021, o 04:32 
Offline
Moderator
Avatar użytkownika

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

Po pierwsze to pamiętaj proszę, że PD0 i PD1 to piny do komunikacji UART / RS232 i jeśli nie rozpiąłeś żółtych zworek nad prockiem JP6 i JP7 to jest kaszana na linii TX pomiędzy prockiem a układem FT232R. Więc jak już te piny wykorzystujesz to rozłączaj te zworki ok?

Po drugie, zakładając że robisz coś w kodzie TYLKO na PORTC i nie używasz PORTA na którym masz podpięte zworki do segmentów wyświetlacza LED i pomimo to świecą kropki to:

1. zdejmij zworkę z pinu PA7 (odpowiedzialnego za segment H czyli za kropkę) i zobacz czy nadal będą świecić kropki

2. W ogóle na chwilę rozłącz od procka wszystkie segmenty i anody, weź dwa zwykłe przewody połączeniowe i zrób że najprostszy test czyli: Podłącz na początek jednym przewodem wspólną anodę pierwszej cyfry do GND. A następnie drugim przewodem podłączonym do GND sprawdzaj każdy pin segmentu czy się zapala prawidłowo. Tak można mega prosto i szybko sprawdzić sam wyświetlacz przecież.

3. Gdyby założyć że jak pisałem wyżej, w twoim ćwiczeniu robisz coś w kodzie tylko na PORTC i świecą kropki to wyglądałoby tak jakbyś pinem PC7 sterował segmentem H czyli być może jakby np PC7 był zwarty z PA7. No ale przecież to też łatwo można i szybko sprawdzić. Rozłącz wszystkie połączenia, wyjmij na chwilę procka z podstawki i sprawdź miernikiem (brzęczykie) czy nie ma zwarcia pomiędzy PA7 i PC7 (a nie powinno być) Gdyby było to mogłoby oznaczać, że jest coś nie tak z zestawem i wtedy trzeba byłoby go do nas podesłać tzn uówić się ze mną na maila najpierw ok?

4. Sprawdź też czy przypadkiem pin PA7 nie ma zwarcia do GND (ale raczej nie powinien mieć skoro kropki gasną czasami)

Generalnie to nie wiem po co np gdy robisz kod na ten efekt knight ridera dla zwykłych diod LED to nadal masz podłączone anody wyświetlacza LED również do PORTC - przecież to nie ma kompletnie sensu bo używasz PORTC do zwykłych diod a w TYM SAMYM czasie cztery piny PORTC aktywują w kodzie stanem niskim bazy tranzystorów od wspólnych ANOD wyświetlacza LED. Oczywiście i tak w tym czasie nie powinny sobie migać same kropki a jeśli migają to być może dlatego, że akurat na PA7 w jakiś dziwny sposób jest stan NISKI ? nie wiem - no trzeba to sprawdzić

_________________
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: 19 lut 2021, o 05:34 
Offline
Moderator
Avatar użytkownika

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

Teraz tak patrzę jeszcze - no mieszanka na maxa w tym ATB ;) weź wyjmij ten ANALOG INDICATOR z microport i sprawdź wtedy te swoje kody ;)


Autor postu otrzymał pochwałę

_________________
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: 19 lut 2021, o 16:46 
Offline
Nowy

Dołączył(a): 28 sie 2020
Posty: 2
Pomógł: 0

mirekk36 napisał(a):
Teraz tak patrzę jeszcze - no mieszanka na maxa w tym ATB ;) weź wyjmij ten ANALOG INDICATOR z microport i sprawdź wtedy te swoje kody ;)

Dzień dobry,

Dziękuję za wskazanie problemu.
Odłączenie Analog Indicatora rozwiązało problem, wcześniejsze sugestie również są cenne, postaram się w przyszłości nie pozostawiać połączeń, które mogą powodować jakieś implikacje.

Dziękuję jeszcze raz i pozdrawiam
Łukasz



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 0 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