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



Teraz jest 17 sty 2026, o 14:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 22 cze 2015, o 14:11 
Offline
Nowy

Dołączył(a): 22 cze 2015
Posty: 21
Pomógł: 0

Witam serdecznie,

Wykonuję 3 ćwiczenie z BB i mam następujący problem. Korzystam z zestawu uruchomieniowego ZL11AVR (wyświetlacze segmentowe sterowane poprzez PNP, a następnie każdy segment katodą). Konfiguracja TIMERA0 wydaje się być poprawna. Niestety, na wyświetlaczu po wgraniu (pomyślnym) programu nie ma żadnej reakcji. Poniżej zamieszczam kody źródłowe. Uprzejmie proszę o pomoc i dziękuję z góry za ewentualne podpowiedzi.

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2015, o 15:47 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 291
Lokalizacja: okolice Opola
Pomógł: 20

W przerwaniu, zapalanie poszczególnych wyświetlaczy zrób tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2015, o 15:57 
Offline
Nowy

Dołączył(a): 22 cze 2015
Posty: 21
Pomógł: 0

Dzięki za odpowiedź. Niestety, po zastosowaniu powyższego, nadal bez zmian. Dodam, że przykłady te są zaimportowane z płyty - zmiany programu dotyczą jedynie konfiguracji TIMER0 oraz PORTB i PORTD.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2015, o 15:59 
Offline
Moderator
Avatar użytkownika

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

czy sprawdzałeś wyświetlacz metodą o której pisałem w Blueabooku, żeby ew dopasować kod do swojego sprzętu ? bo jakoś nic o tym nie wspomniałeś

_________________
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: 22 cze 2015, o 16:17 
Offline
Nowy

Dołączył(a): 22 cze 2015
Posty: 21
Pomógł: 0

Mirku, wprowadziłem korektę do pliku main.c ponieważ w ZL11AVR wyświetlacze są podłączone odpowiednio do: PD6, PD5, PD4, PD3.

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


Pozostałe kwestie sprzętowe są bez zmian, bowiem:
- każdy wyświetlacz załączany jest przez podanie zera logicznego (z wyjścia procesora na tranzystor PNP)
- sterowanie segmentami poszczególnych wyświetlaczy odbywa się również poprzez wpisanie zera (0 = włączony; 1 = wyłączony)
- przypisanie segmentów do PORTB wygląda następująco PORTB = &bABCDEFGDP (a więc również, tak jak przewiduje to przykład programu)

Niestety, wyświetlacz nadal "milczy".



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2015, o 16:39 
Offline
Moderator
Avatar użytkownika

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

sternick napisał(a):
Mirku, wprowadziłem korektę do pliku main.c

ok wprowadziłeś ale czy "sprawdzałeś metodą z książki ?" ... nie na darmo o to pytam - bo to NAJPROSTSZA metoda sprawdzenia gdzie robisz błąd i uwierz mi nie ty pierwszy i nie ostatni ten błąd robisz

Innymi słowy mówiąc w książce

1. nie tylko opisałem jak powinno się podejść po raz pierwszy do multipleksowania
2. nie tylko pokazałem przykładowy najprostszy kod
3. nie tylko opisałem powiązanie kodu ze schematem i sprzętem

4. ALE OPISAŁEM jak to po kolei uruchamiać, sprawdzać i szukać sobie baboli

tymczasem wiele osób .... odpala kod i pisze -

"a mi nie działa"

za to ANI SŁOWA o tym jak to sprawdzali , jak dochodzą co nie działa ... chociażby debugerem na jednej diodzie LED ... no ale tu o tyle łatwiej że i bez takiego debugera można się obyć bo diod LED w wyświetlaczach aż nadto

więc ustosunkuj się do tego ok?

_________________
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: 22 cze 2015, o 16:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Piszesz, że masz podłączone anody od PD3 do PD6, a operacje cyklicznego przesuwania bitu zapalającego anody w zmiennej licznik wciąż masz od 1 do 8, czyli licznik przyjmuje takie wartości: 1, 2, 4 i 8. Ty natomiast potrzebujesz 8, 16, 32, 64.
Podpowiem Ci jeszcze, że musisz zmienić co nie co w procedurze obsługi przerwania. Czytaj BB i jeszcze raz czytaj, a sam znajdziesz babola, którego robisz. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2015, o 17:07 
Offline
Moderator
Avatar użytkownika

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

anshar napisał(a):
, czyli licznik przyjmuje takie wartości: 1, 2, 4 i 8. Ty natomiast potrzebujesz 8, 16, 32, 64.

No ale właśnie to trzeba się w końcu samemu nauczyć sprawdzać - bo niestety dochodzenie do błędów własną drogą pozwala na prawdę nie tylko zrozumieć temat jaki się ćwiczy ale PRZEDE WSZYSTKIM zrozumieć na czym polega programowanie - a ono niestety (rzekłbym w 50%) polega na szukaniu błędów ...

No tymczasem w książce opisuję DOKŁADNIE jak sobie testować, jak testowo wystawić stany, żeby zaświecić statycznie segmenty - itp itd no nie będę tego tu znowu opisywał bo to kompletnie bez sensu ....

Dlatego podawanie gotowej podpowiedzi gdzie ktoś robi babola jest o tyle bezcelowe (lepiej NAPROWADZAĆ) ;) - że za chwilę, pytanie będzie podobne, czyli np kolejny rozdział o LCD i pytanie:

"zrobiłem tak jak w książce i mi nie działa, gdzie robię błąd?"

albo

"uruchomiłem kod z DVD do LCD i mi nie działa, gdzie robię błąd?"

a ja z uporem maniaka staram się wciąż i w książce i w poradnikach wideo pokazywać JAK WŁAŚNIE DOCHODZIĆ DO TYCH BŁĘDÓW, jak ich szukać we własnym zakresie - i tego no jak WIDAĆ NIE WOLNO pomijać.

_________________
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: 22 cze 2015, o 17:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Rozumiem, przepraszam :oops: i obiecuję poprawę! ;)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2015, o 18:55 
Offline
Moderator
Avatar użytkownika

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

anshar napisał(a):
Rozumiem, przepraszam i obiecuję poprawę!

anshar - ale ja w sumie nie do tego co ty pisałeś tylko tak bardziej ogólnie ;) ...

anshar napisał(a):
Podpowiem Ci jeszcze, że musisz zmienić co nie co w procedurze obsługi przerwania.

A to też przecież naprowadzanie ;)

spokojnie - damy radę kolegę naprowadzić na właściwe tory - tylko teraz niech jeszcze sam zadziała chwilę ;)

_________________
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: 22 cze 2015, o 22:34 
Offline
Nowy

Dołączył(a): 22 cze 2015
Posty: 21
Pomógł: 0

anshar dziękuję serdecznie za podpowiedź. Problem rozwiązany w 15 sekund i wszystko działa ;)


mirekk36 napisał(a):
ok wprowadziłeś ale czy "sprawdzałeś metodą z książki ?" ... nie na darmo o to pytam

A możesz szanowny Autorze powiedzieć, w którym miejscu owa metoda jest przedstawiona? Książkę przeczytałem uważnie. Zanim podjąłem się realizacji tego ćwiczenia, zapoznałem się dokładnie z jego treścią i nie widzę nigdzie rzeczonej metody.

mirekk36 napisał(a):
4. ALE OPISAŁEM jak to po kolei uruchamiać, sprawdzać i szukać sobie baboli

W którym miejscu? Może mole mi zżarły tę stronę?;)

mirekk36 napisał(a):
"uruchomiłem kod z DVD do LCD i mi nie działa, gdzie robię błąd?"

W moim przypadku było ambitniej! Kod napisałem sam, odpowiednio go modyfikując i dopiero wtedy, gdy okazało się, że nie działa, to sięgnąłem po gotowca z płyty - naturalnie moja wina, że nie udało mi się go dostosować do mojej platformy sprzętowej, ale chyba możliwość błędów na etapie 3 ćwiczenia dopuszczamy? Czy już nie?

mirekk36 napisał(a):
No tymczasem w książce opisuję DOKŁADNIE jak sobie testować, jak testowo wystawić stany, żeby zaświecić statycznie segmenty - itp itd no nie będę tego tu znowu opisywał bo to kompletnie bez sensu ....

Proszę o informację - GDZIE? Naprawdę uważasz, że poruszałbym ten wątek, gdybym mógł go samodzielnie rozwiązać, lub też kiedy znajdowałby się on na stronach z zakresu 1-213? Oczywiście dopuszczam ewentualność przeoczenia, dlatego proszę o wskazanie numeru strony. Będę zobowiązany.

I celem wyjaśnienia. Szanowny Autorze, w żadnym razie nie mam do Ciebie pretensji. Godzę się z tym, że testując rozwiązania na własnym zestawie, mam prawo zmagać się z trudnościami, które nie dotyczyłyby mnie, gdybym korzystał z zestawu rekomendowanego - to oczywiste. Ma to jednak swoje walory, jak widać (mimo wstępnych trudności).

mirekk36 napisał(a):
No ale właśnie to trzeba się w końcu samemu nauczyć sprawdzać

Jeśli będzie to moje 30, a nie 3 ćwiczenie, myślę że zasadnym będzie postawienie poprzeczki na poziomie: "naucz się w końcu" ;)

Raz jeszcze dziękuję za naprowadzenie i pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2015, o 00:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

sternick napisał(a):
anshar dziękuję serdecznie za podpowiedź. Problem rozwiązany w 15 sekund i wszystko działa ;)

Bardzo mnie to cieszy! Jak to mówią cała przyjemność po mojej stronie!

mirrek36 napisał(a):
spokojnie - damy radę kolegę naprowadzić na właściwe tory - tylko teraz niech jeszcze sam zadziała chwilę ;)

Nawet powiedziałbym, że koledze zajęło to bardzo krótką chwilę - w 15 sekund!
Dzięki "nam" to chyba rekord?! :D

sternick napisał(a):
A możesz szanowny Autorze powiedzieć, w którym miejscu owa metoda jest przedstawiona? Książkę przeczytałem uważnie. Zanim podjąłem się realizacji tego ćwiczenia, zapoznałem się dokładnie z jego treścią i nie widzę nigdzie rzeczonej metody.

Myślę, że autorowi chodziło o strony (str. 193 - 194 w BB "), czyli wyświetlacz można sprawdzić nawet bez użycia procesora itd , oraz

sternick napisał(a):
W którym miejscu? Może mole mi zżarły tę stronę?;)

A masz stronę 213? ;) "Aby sprawdzić,..."
No i tak można wyszukać "babole", prawda?

(Str. 205 "Przechodzimy do meritum, czyli...)
W sumie to cały ten rozdział opisuje tą metodę. Metodę multipleksowania, prawda? Autor krok po kroku pokazuje jak sobie z tym poradzić od "ręcznego" przełączania anod (czyli w przypadku wyświetlaczy LED ze wspólną anodą wybór konkretnej cyfry) i podania odpowiednich napięć (0 lub 1) na katody poszczególnych wyświetlaczy. Przechodzi nawet do MATRIXA (z użyciem chipa)! :D

Myślę, że gdy jeszcze raz, ale tym razem na spokojnie, przeczytasz cały ten rozdział "Mulipleksowanie LED - przerwania" to zrozumiesz o co chodziło autorowi tej książki. Jakby nie było, multipleksowanie masz już opanowane, prawda? :D
A tak już dla innych początkujących, którzy może będą mieli podobny problem z realizacją tego ćwiczenia na zestawie uruchomieniowym ZL11AVR, to czy mógłbyś, jeśli to nie kłopot, zamieścić prawidłowy (działający) kod programu z anodami podłączonymi odpowiednio do: PD6, PD5, PD4, PD3?

sternick napisał(a):
Godzę się z tym, że testując rozwiązania na własnym zestawie, mam prawo zmagać się z trudnościami, które nie dotyczyłyby mnie, gdybym korzystał z zestawu rekomendowanego - to oczywiste. Ma to jednak swoje walory, jak widać (mimo wstępnych trudności).

Myślę, że właśnie o to chodzi, by potrafić poradzić sobie samemu, bo przecież nie sztuką jest wgrać gotowy program, podłączyć wszystko tak jak trzeba i cieszyć się, że działa. Trzeba eksperymentować, coś zmienić, coś zepsuć, by później naprawić. Myślę, że wtedy człowiek uczy się najszybiej. Dodam jeszcze, że ja swój pierwszy wyświetlacz LED (w dodatku ze wspólną katodą) testowałem na stykówce z ogromną plątaniną kabli i na ATmega328. Uwież mi, to dopiero była jazda! Spędziłem trochę czasu, ale co się nauczyłem to moje, prawda? ;)

sternick napisał(a):
Jeśli będzie to moje 30, a nie 3 ćwiczenie, myślę że zasadnym będzie postawienie poprzeczki na poziomie: "naucz się w końcu" ;)

Jeśli sobie tak szybko poradziłeś z 3 ćwiczeniem to pomyśl co będziesz w stanie zrobić po 30? ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2015, o 06:44 
Offline
Moderator
Avatar użytkownika

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

anshar napisał(a):
No i tak można wyszukać "babole", prawda?

No DOKŁADNIE. Chodziło głównie najpierw o ręczne sprawdzenie - tzn kabelkami nawet bez procka, a później ręczne czyli nawet takim sposobem:

ANODY_PORT &= ~CA1;
DATA_PORT = 0x00;
while(1);

te dwie metody razem działają cuda choć TAKIE PROSTE (a rzadko komu chce się po nie sięgnąć) ... bo wtedy człowiek zaczyna nagle inaczej patrzeć na problem. Już nie z pozycji "program mi nie działa" .... ale w ten sposób ... , że "aha ... czyli gdzieś w kodzie albo nie wysterowuję prawidłowo Wspólnych Anod albo gdzieś w kodzie źle podaję dane na port katod .... hmmm a to się dzieje TYLKO w przerwaniu, więc może zacznę od sprawdzenia czy mi w ogóle samo przerwanie działa ? .... to wstawię ten kod wyżej do przerwania !

... o! działa ... czyli przerwanie śmiga ... no to może sprawdzę port katod - .... też OK, hmmm w takim razie coś musi być ze sterowaniem ANOD .... I NAWET JEŚLI TERAZ nie widzę babola to już przynajmniej mogę napisać jakieś wnioski pisząc pytanie np na forum, komuś opisując problem .... Uważam że TAKIE podejście w rozwiązywaniu problemów z kodem i elektroniką jest BEZCENNE!

......................................... sorki za taki opis ... ale staram się pokazać w mega najprostszy sposób jak można testować PO KAWAŁKU, jak dochodzić do babola krok po kroku .... więc nie na DARMO piszę w książce o tym ręcznym sprawdzaniu wyświetlaczy.

_________________
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: 23 cze 2015, o 14:11 
Offline
Nowy

Dołączył(a): 22 cze 2015
Posty: 21
Pomógł: 0

anshar napisał(a):
A tak już dla innych początkujących, którzy może będą mieli podobny problem z realizacją tego ćwiczenia na zestawie uruchomieniowym ZL11AVR, to czy mógłbyś, jeśli to nie kłopot, zamieścić prawidłowy (działający) kod programu z anodami podłączonymi odpowiednio do: PD6, PD5, PD4, PD3?


Oczywiście. Poniżej prezentuję zestaw działających kodów źródłowych. Obliczenia rejestru porównania (OCR0A) przy założeniach: częstotliwość wewnętrznego oscylatora 8Mhz (z wyłączonym podziałem przez 8); częstotliwość każdego z czterech wyświetlaczy 50Hz (zatem w sumie 200Hz).

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.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] 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