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



Teraz jest 12 lip 2025, o 04:24


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 6 paź 2017, o 18:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 maja 2015
Posty: 61
Pomógł: 2

Witam

Czy ktoś z kolegów może mi wyjaśnić dlaczego nie mogę wyświetlać liter np.cy1=F;
a tu nic się nie wyświetla, znowu z cyframi od 1-9 żaden problem.
Dodałem do tablicy liczbę F z narzędzi mkAVR Calkulator i nic :roll:

jakoś nie mogę skumać oco tu loto :lol:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 19:02 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 774
Pomógł: 40

No to zes się rozpisal. Co to znaczy ,ze nie możesz wyswietlic, Nic się nie swieci? Pewnie nie masz dobrze zadeklarowanej tablicy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 19:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 maja 2015
Posty: 61
Pomógł: 2

Tylko dodałem już do gotowej z BB jedną literę

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: 6 paź 2017, o 19:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

Robisz to tak?
cy1=cyfry[11]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 19:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1040
Lokalizacja: Trójmiasto
Pomógł: 190

michu napisał(a):
Dodałem do tablicy liczbę F
Mnie zawsze uczyli że F to litera :o
I jeszcze powiedz że chcesz tą liczbo-literę wyświetlić wpisująć:
michu napisał(a):
np.cy1=F

Tak to na bank nie zadziała. Musisz do zmiennej załadować numer komórki tablicy w której jest wzór tej litery czyli
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A 11 bo twoje F jest 12 elementem tablicy, a te numeruje się od 0 więc jak byk 11.



Ostatnio edytowano 6 paź 2017, o 19:47 przez xentis, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 19:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 maja 2015
Posty: 61
Pomógł: 2

Pewnie żle

cy1=F;

------------------------ [ Dodano po: 8 minutach ]

Zrobiłem cy4=11; i działa , proszę jeszcze wyjaśnijcie skąd się bierze to 11 gdzie to siedzi ? :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 19:53 
Offline
Użytkownik
Avatar użytkownika

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

Po ostatnim elemencie w tablicy nie stawiamy przecinka.
Poza tym po co sobie utrudniasz, nie lepiej zapisać tak jak w BB?
Ja bym to zrobił tak, zobacz:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Teraz bez liczenia odrazu widać, że litera F musi mieć zgaszone segmenty B, C i D, a wszystkie pozostałe zapalone, prawda?

No i teraz w pliku main.c gdy chcesz wyświetlić cyfry to piszesz na przykład:
cyfra[0] = 1;
cyfra[1] = 2;
cyfra[2] = 3;
cyfra[3] = 4;

Jednak gdy chcesz wyświetlić litery to musisz podać index tablicy odpowiadający danej literze czy znaku.
Na przykład:
cyfra[0] = 11; //b
cyfra[1] = 10; //A
cyfra[2] = 12; //C
cyfra[3] = 15; //F
Index 10 to litera A, 11 to b, 12 to C, 13 to d, 14 to E i 15 to F, zgodnie z zapisem szesnastkowym.
Polecam taki sposób jak wyżej.
Wtedy możesz nawet napisać sobie tak:
cyfra[0] = 0x0B; //b
cyfra[1] = 0x0A; //A
cyfra[2] = 0x0C; //C
cyfra[3] = 0x0F; //F

Wracając do Twojego przykładu, to usuń ten ostatni przecinek i w main.c napisz na przykład:
cyfra[0] = 11;
lub
cyfra[0] = 0x0B; ;)
W ten sposób wyświetlisz ostatni element czyli F o indeksie dziesiętnie 11, a szesnastkowo 0x0B. ;)

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

Dodatkowo polecam poradnik:
http://mirekk36.blogspot.co.uk/2014/03/liczby-szesnastkowe-hexadecymalne.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 19:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 maja 2015
Posty: 61
Pomógł: 2

Ok cy4=11; działa :lol: wszystkim bardzo dziękuję ,wnikliwie przeanalizuje porady. :D :D



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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