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



Teraz jest 15 lis 2024, o 23:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 6 mar 2017, o 00:12 
Offline
Nowy

Dołączył(a): 06 mar 2017
Posty: 1
Pomógł: 0

Witam, mam mały problem z biblioteką do wyświetlaczy 7 segmentowych z niebieskiej książki. Mianowicie jeśli porty do sterowania wspólnych pinów wyświetlacza są ustawione tak jak w bibliotece od początku (PC0,PC1,PC2,PC3). To wszystko ładnie dzieła, jednak jak zmienia jakikolwiek bit dany wyświetlacz przestaje działać. Czy to jeśli użyje pozostałych bitów portu C(PC4,PC5,PC6,PC6) czy też jak zmienia całkowicie port, poniżej umieszczam moją przykładową modyfikacje za pomocą której chciałem użyć portu D Atmegi16(bity PD4,PD5,PD6,PD7). Co robię nie tak? Z góry dziękuje za pomoc i pozdrawiam.

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


EDIT: Sprawdziłem teraz i okazało się że wyświetlacze działają na innych portach ale tylko na ich najmłodszych bitach np PB0 PB1 PB2 PB3, dlaczego działa to tylko na najmłodszych bitach portów?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2017, o 02:30 
Offline
Moderator
Avatar użytkownika

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

kjokorek132 napisał(a):
dlaczego działa to tylko na najmłodszych bitach portów?

No ale to pokazuje, że kolega kompletnie nie analizował ze mną, razem z książką budowy tej obsługi i stąd takie pytania ...

a jak myślisz za pomocą czego są przemiatane te wyświetlacze ? Toż to musi być realizowane programowo ... i zapewniam, że jest i pokazałem dokładnie jak , i opisałem .... Tyle że przykład zrobiłem akurat na najmłodszych bitach. Co za problem zmienić to sobie na starsze albo na dowolne w ramach tego samego portu ? .... no ale najpierw warto zrozumieć, poczytać - jak to się dzieje i co od czego zależy.

_________________
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: 6 mar 2017, o 07:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Witam,
Podpowiem że problem którego poszukujesz jest w przełączaniu ANOD.
Zerknij jak są kolejno zmieniane bity. ;)
W twoim ustawieniu musisz przełączać w przerwaniu nie od 0 -> 3 ,
Tylko wybiórczo. :)
Możesz to ogarnąć prostymi ifami.
I nie pomiń czasem maskowania pozostałych bitów, bo jak coś pod nie podłączysz to będzie dyskoteka. :)

------------------------ [ Dodano po: 3 minutach ]

Taka jest chyba w kodzie kolejność i to na pojedynczym porcie.
00000001
00000010
00000100
00001000



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2017, o 09:01 
Offline
Użytkownik

Dołączył(a): 14 lut 2017
Posty: 69
Pomógł: 2

Ja stosuję instrukcję switch, łatwo i przejrzyście można dodać obsługę kolejnego wyświetlacza.
Wrzucasz kod do obsługi przerwania, wywoływane nie rzadziej niż co 0,005s (5 milisekund, 200 herców)


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



Ostatnio edytowano 6 mar 2017, o 17:25 przez Pan_Kracy, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2017, o 13:24 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3205
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 90

topic7402.html

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2017, o 17:09 
Offline
Użytkownik

Dołączył(a): 14 lut 2017
Posty: 69
Pomógł: 2

@Jaglarz - poprawiłem, coś mi się dzisiaj popiórkowało - przepraszam.



Ostatnio edytowano 6 mar 2017, o 17:26 przez Pan_Kracy, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2017, o 17:19 
Offline
Moderator
Avatar użytkownika

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

Pan_Kracy napisał(a):
@Jaglarz - zastosowałem syntax=c i nie zadziałało, coś jest dzisiaj nie tak po stronie serwera...
Sprawdź proszę u siebie czy masz podobny efekt.


Panie, panie - LITOŚCI ....

edytuj sobie swój post i sam sprawdź coś tam nawyprawiał - w ramach znaczników code - wpisałeś syntax=c - kompletnie BEZ SENSU - tym bardziej, że w linku który podał Jaglarz masz nie tylko opis tekstowy jak należy to zrobić ale również FILMIK - więc sorry ale lenistwo troszkę przez kolegę przemawia - bo nie da się tego nie zrobić dobrze po takiej podwójnej instrukcji

proszę to poprawić jak się należy

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

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