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



Teraz jest 24 kwi 2024, o 18:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 44 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 21 maja 2017, o 10:58 
Offline
Użytkownik

Dołączył(a): 05 mar 2017
Posty: 25
Lokalizacja: Skoczów
Pomógł: 0

Witam.
Troszkę miałem dłuższą przerwę i wróciłem do ćwiczenia które zakładało stworzenie pseudo minutnika na zestawie ATB na bazie poprzedniego kodu, natomiast teraz jest problem że wyświetlacz na którym chcę wyświetlać migającą kropkę w takt odliczania sekund, wyświetla na przemian cyfrę z kropką, oraz co jakiś czas wykrzacza wartość którą powinien wyświetlać.

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



Ktoś pomoże, naprowadzi ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 12:11 
Offline
Użytkownik
Avatar użytkownika

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

witam,
na początek przyjrzyj się na typy. czy wyniki mieszczą się w przewidzianym typie. u16 i u8. ?
np. tu:
maxrider 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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 12:42 
Offline
Użytkownik

Dołączył(a): 05 mar 2017
Posty: 25
Lokalizacja: Skoczów
Pomógł: 0

Zmieniłem odpowiednio war1 na u16_t natomiast nic to nie zmieniło w działaniu wyświetlania kropki na drugim segmencie cy2.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 13:10 
Offline
Użytkownik
Avatar użytkownika

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

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

(war1 zmienia się od 0-3599) jeden raz na 3599 jest równe 1 .(wtedy wyświetli bez kropki)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

:?:
do czego to używasz ?
maxrider napisał(a):
              if(z4) cy4=z4; else cy4=(sec>9)?0:0;            // wyświetlanie jedności sekund

hmm... :? takie wpisy trochę mi mieszają w głowie. :? :mrgreen:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 13:16 
Offline
Użytkownik

Dołączył(a): 05 mar 2017
Posty: 25
Lokalizacja: Skoczów
Pomógł: 0

sec= licznik używam do wyświetlania zer w w ostatnim segmencie odpowiedzialnym za liczbę sekund jedności.

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

Wydaję mi się że wartość war1 zmienia się co drugi takt zegara bo wcześniej jest zdefiniowana tak:

war1=(licznik2)%2;

cały problem polega właściwie na tym że segment wyświetlacz cy2 wyświetla na przemian kropkę i cyfrę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 13:22 
Offline
Użytkownik
Avatar użytkownika

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

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


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

maxrider napisał(a):
Wydaję mi się że wartość war1 zmienia się co drugi takt zegara bo wcześniej jest zdefiniowana tak:
war1=(licznik2)%2;
OK. masz racje. :oops:
chyba mi karkówka zaszkodziła. :? :roll:



Ostatnio edytowano 21 maja 2017, o 14:12 przez Daro69, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 13:37 
Offline
Użytkownik

Dołączył(a): 05 mar 2017
Posty: 25
Lokalizacja: Skoczów
Pomógł: 0

przy tak skonstruowanym warunku jak podałeś kropka zapali się dopiero po 30minutach, natomiast chodzi o to żeby ona sobie mrugała w takt odliczania sekund.

if(war1==1) cy2=z2; else cy2= z2 | 11;
taki warunek powoduje że miga na przemiennie cyfra i kropka, a jak to zrobić żeby nie migało na przemian tylko kropka migała?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 16:38 
Offline
Użytkownik
Avatar użytkownika

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

momęt - moment :? dlaczego 11. ? :shock: coś się gubię. :?

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

czy tu chodzi Tobie o 11-ty element tablicy ? czy jak ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 16:49 
Offline
Użytkownik

Dołączył(a): 05 mar 2017
Posty: 25
Lokalizacja: Skoczów
Pomógł: 0

11 dlatego że tak mam zdefiniowany znak kropki na wyświetlaczu w pliku w którym są definiowane znaki.
Tak to wygląda:
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: 21 maja 2017, o 17:02 
Offline
Użytkownik
Avatar użytkownika

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

no tak.. :) jeżeli chcemy zapalić stanem niskim na pinie - to musimy go wyłączyć z (wyzerowanych segmentów wyświetlacza)
czyli - sprawdz to :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 10 minutach ]

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

stan niski na sefment - i tylko, ten od kropki.
tam gdzie były jedynki w cyfrze (nie świecące segmenty) tam pozostaną jedynki,
tam gdzie były zera w cyfrze (świecące segmenty) tam pozostaną zera,
a w miejscu usmego bitu będzie wpisane 0.(świecenie kropki).
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: 21 maja 2017, o 17:38 
Offline
Użytkownik

Dołączył(a): 05 mar 2017
Posty: 25
Lokalizacja: Skoczów
Pomógł: 0

Żaden z podanych sposobów nie powoduje oczekiwanego skutku niestety. cały czas się coś sypie w tym segmencie. W momencie odwołania się do elementu tablicy występuje błąd związany z nie zainkludowaniem tablicy do pliku main. natomiast wszystkie pozostałe sposoby dalej powodują albo krzaczenie się na tym wyświetlaczu albo mruganie na zmianę kropki i cyfry



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 18:15 
Offline
Użytkownik
Avatar użytkownika

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

a no przecież że głupotę piszę. :roll:
przecież cy2 i z2 to wartości liczb (nr. w tablicy) . :?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2017, o 18:33 
Offline
Użytkownik

Dołączył(a): 05 mar 2017
Posty: 25
Lokalizacja: Skoczów
Pomógł: 0

Czyli jak to powinno wyglądać?
I jak się odwołać do tej tablicy bo jako tako to ona jest nie widoczna w pliku main.
Bo przy poprzedniej próbie wywalało błąd przy kompilacji.



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

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

jeżeli chcemy dopisywać kropkę do cyfry,
to musimy to ogarnąć tam gdzie są pobierane segmenty w tablicy. czyli w pliku d_led.c i zadeklarować zmienną war1 w d_led.h
Ponieważ jest to MK_kod. - wysłałem wiadomość na PW.

------------------------ [ Dodano po: 5 minutach ]

Ogólnie ujmując,
LED_DATA musi przyjąć bitową wartość cyfry,
ale co pewien czas musi mieć dopisane(wyzerowany) bit odpowiadający za świecenie kropki.


Autor postu otrzymał pochwałę


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: 44 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 10 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