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



Teraz jest 15 lip 2025, o 01:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 25 gru 2017, o 01:34 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

Mam problem z ożywieniem kropek kod jest z blogu Piotra „Mikropasje” walczę z tematem o kilku dni przeglądając fora ale nie umiem wymyślić coś sensownego nie wiem od czego zacząć chciałbym żeby kropka na początek świeciła a w dalszych planach mrugała co sek próbowałem coś z tym zrobić ale efekty marne ma to być prost program czyli prosty zegar
multipleks.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

Obrazek
Poz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 gru 2017, o 21:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Jakieś dziwne rzeczy tutaj robisz:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Odczytaj normalnie z tablicy układ segmentu dla danej cyfry a potem sprawdź czy kropka[licznik] == 1 i jak tak to załącz SEG_DP.

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 2 minutach ]

A błąd mówi Ci że linker nie wie co to jest za tablica kropka. Gdzie masz jej definicję i deklarację?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2017, o 00:35 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

Przyznam się szczerze że sam nie wiem to jest jedna z moich prób ;) , od kilku dni siedzę nad tym przeszukuje różne fora i nie umiem sobie tego po układać w całość :mrgreen: . Kod z blogu Piotra-”Mikropasje” różni się z kodem z BB i był on nie jednokrotnie omawiany na forum ale chciałbym jakoś wstawić kropkę do obecnego kodu a z tego co udało mi się zrozumieć np.
cyfra[0]=5 z ”.” ;
[0]=licznik pierwszy wyświetlacz = 5
czyli cyfry = SEG_A|SEG_C|SEG_D|SEG_F|SEG_G a gdzie mam zapisać SEG_DP

Darek
Poz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2017, o 12:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Przecież wszystko masz dokładnie podane i wytłumaczone w BB.
Nie wiem jak to jest opisywane na cytowanym blogu, ale ogólnie zasada jest taka:
- masz zdefiniowaną tablicę CYFRY w pamięci flash zawierającą opisy wyglądu cyfr, czyli który segment ma być zaświecony a który zgaszony
- tablica CYFRY zawiera kolejne cyfry od 0 do 9 (lub więcej ale to nie ważne)
- jak masz wyświetlić np. cyfrę 3 to odczytujesz wartość z tablicy CYFRY o indeksie 3 i masz układ segmentów do zaświecenia.
Jeżeli chcesz mieć kropki to możesz zrobić sobie tak nadmiarowo drugą tablicę i tam mieć zdefiniowany wygląd cyfry z kropką (dodany twój SEG_DP), ale ze względu że kropka przy każdej cyfrze to ten sam segment, to robi się to bez definiowania dodatkowego układu znaków, tylko po odczytaniu z flash układu z tablicy CYFRY, dodajesz do niej zapalenie segmentu kropki.
Czyli robisz na przykład tak - odczytujesz z pamięci flash do zmiennej segmenty_port układ cyfry znajdujący się w tablicy CYFRY:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

gdzie zmienna cyfra to tablica zawierająca wartości dla kolejnych wyświetlaczy a zmienna licznik określa która z nich jest teraz odczytywana i wyświetlana.
Jak już masz układ znaku bez kropki to robisz sprawdzenie czy dla danej cyfry masz zaświecić kropkę i jak tak to robisz:
- jak masz wyświetlacz ze wspólna katodą
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
lub jak masz ze wspólną anodą a taki chyba masz :)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


--
Pozdrawiam,
Robert

PS. Starałem zrobić się na tych samych nazwach zmiennych co Ty, lecz nie wiem czy tak samo miałeś je poprzypisywane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2017, o 23:42 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

Właśnie przerabiam multipleksowanie z BB i na naszym forum było już nieraz przerabiane zagadnienie kropek na podstawie BB a cały problem polega na tym że mam trochę inny kod i na jego podstawie chcę napisać program prostego zegara godziny minuty odlicza timer programowy plus dwa przyciski do nastawiania tylko brakuje mi jeszcze jednej kropki a przy okazji mugłbym się czegoś nowego nauczyć a teraz do sedna to co mi podałeś zapisałem w ten sposób
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

zadziałało tylko że zapaliły się wszystkie kropki a w jaki sposób przypisać kropkę do danej cyfry z tablicy
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

nie tworząc nowej tablicy z kropkami iwstawić ją tu

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.

i może jeszcze podam obsługe Timera sprzetowego
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.

Darek
Poz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2017, o 14:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Daro68 napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
zadziałało tylko że zapaliły się wszystkie kropki a w jaki sposób przypisać kropkę do danej cyfry z tablicy

Jak masz kropki na stałej pozycji i tylko te chcesz zapalać, to najprościej dać tak (np. dla pozycji wyświetlacza 2):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

lub zrobić tablicę uint8_t kropki[4] i w niej ustawiać które chcesz zasiecać a w kodzie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2017, o 17:18 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

Dzięki za pomoc i cierpliwość teraz wszystko wydaje się oczywiste :oops: wszystko gra :D
Darek
Poz.



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