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



Teraz jest 13 cze 2025, o 00:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 29 maja 2013, o 12:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Witam!
Korzystając z biblioteki Suna, do wyświetlacza na układzie PCD8544 zabrakło mi funkcji wyświetlającej liczby.
Do tej pory naskrobałem coś takiego:

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

ale wyświetla mi tylko dziesiątki liczby czyli zamiast np: 22 wyświetla 2.

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 maja 2013, o 13:05 
Offline
Moderator
Avatar użytkownika

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

co wg ciebie robi ta operacja?

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


naprowadzę trochę: masz zmienną buf2 typu char, i teraz wkładasz do niej (UWAGA! TYLKO JEDEN ZNAK) spod wskaźnika *buf

a potem buf2 przekazujesz jako argument - więc czego się spodziewasz ?

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

jeśli funkcja

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


wysyła TYLKO pojedynczy znak to stwórz sobie funkcję

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


do której można przekazać wskaźnik do bufora i wtedy twoja funkcja mogłaby wyglądać tak jak te w książce niebieskiej do zwykłego LCD - korzystaj z tych lekcji w książce, postaraj się zrozumieć jak się tworzy tą bibliotekę do LCD. Nie po to żeby ją sobie samemu pisać - ale zrozumiesz jak się działa ze stringami - bo na razie masz z tym ogromny problem widzę

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


prawda że krótka i fajna ? ..... a dokładnie to samo masz w książce ... i to z wyjaśnieniami co i jak .... tylko trzeba chociaż raz przeczytać ten rozdział o tworzeniu biblioteki do LCD - bo jest ważny i można się z niego sporo nauczyć

_________________
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: 29 maja 2013, o 13:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Do książki Mirku własnie lookałem. Poda funkcje Sana do wyświetlania stringów:

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


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


powoduje worninga no bo nie kompatybilne typy wskaźnika. Oczywiście wczesniej przepuszczone jest to przez funkcje itoa().

_________________
Inspekcja TV kanalizacji
Programowanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 maja 2013, o 13:48 
Offline
Moderator
Avatar użytkownika

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

No a jak może nie być warninga skoro argument funkcji jest taki

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


a ty przekazujesz taki

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


PRZEDE WSZYSTKIM zauważ, że to u Sun'a jest funkcja do wyświetlania stringów z pamięci FLASH a nie z RAM (dlatego ja - jak widzisz w książce do takich funkcji, zgodnie ze standardem AVR GCC dodaję końcówkę _P żeby od razu po nagłówku funkcji było widać do czego ona jest rozumiesz ? stąd masz w książce:

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


a także

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


i sam powiedz - od razu widać która do czego prawda ?

a ty zaglądasz do tej funkcji Suna i widzisz tam przecież

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


to po tym też powinieneś się zorientować że chodzi o string z pamięci Flash, w związku z tym Sun zresztą bardzo słusznie (no ale wiadomo to Sun) ;) zastosował specyfikator const - bo dla zwykłego programu wszystko co we flash jest const.

Tyle że on jeszcze zastosował własny typ o nazwie byte

jak to obejść?

najprościej to poszukać w tej jego bibliotece funkcji do wyświetlania stringa z RAM, pewnie też jest tylko ty chwyciłeś za tą niewłaściwą ;) A gdyby nie było to co za problem sobie to przerobić ????? wystarczy pozbyć się dwóch rzeczy TYLKO, czyli const i pgm_readbyte() ;)

z tym że ja bym sobie ją napisał tak bardziej pod AVR GCC

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

_________________
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: 29 maja 2013, o 14:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2012
Posty: 296
Lokalizacja: Chebzie Dolne
Zbananowany użytkownik

Pomógł: 6

Dzięki Mirku twoje wskazówki pomogły:) Narazie wszystko śmiga aż miło.

_________________
Inspekcja TV kanalizacji
Programowanie



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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