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



Teraz jest 27 kwi 2024, o 00:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 24 maja 2016, o 17:01 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

Witam, mam problem. Stworzyłem sobie taki wskaźnik:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

a Ubuntu36ptDescriptors tablicą tych struktur.



Tylko, że w żaden sposób nie mogę dostać się do jakiegokolwiek pola przez ten wskaźnik.
Np taki zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

Z góry dziękuje za pomoc ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2016, o 17:21 
Offline
Użytkownik
Avatar użytkownika

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

Użyj operatora "->" zamiast "."
http://forum.atnel.pl/topic10173.html


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2016, o 17:48 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

anshar napisał(a):
Użyj operatora "->" zamiast "."
http://forum.atnel.pl/topic10173.html


No przecież, zapomiałem że w takim wypadku używamy makra "->" :D

Jednak nadal pozostaje ten pierwszy błąd:
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: 24 maja 2016, o 18:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 mar 2016
Posty: 85
Pomógł: 5

Nieprawidłowe użycie tablicy o nieokreślonych granicach

_________________
I'M



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2016, o 18:52 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2016, o 19:03 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

robertomic napisał(a):
Nieprawidłowe użycie tablicy o nieokreślonych granicach

Gdyby jeszcze tłumaczenie przemawiało do mnie bardziej niż oryginał :D


Sparrow-hawk 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.

Dziękuje, po drobnej zmianie pomogło :lol:

O ile się nie mylę to zapis "(*wsk)" jest tym samym co "wsk->" więc wystarczyło zamienić "->" na "." i DZIAŁA :P
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: 24 maja 2016, o 20:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 mar 2015
Posty: 44
Pomógł: 2

i -> w diabły :) jak ja z _p



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

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

SIND napisał(a):
i -> w diabły :) jak ja z _p

To sie zrozumieli :)



Jednak nie działa. Mimo, że błędy zniknęły to nadal nie mogę pobrać wartości pola struktury z tablicy na którą wskazuję ten nieszczęsny wskaźnik :x
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Zmienna w przybiera dziwne wartości.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2016, o 22:37 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 11 kwi 2016
Posty: 3
Pomógł: 0

resonator napisał(a):
Ubuntu36ptDescriptors


Podaj deklarację.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2016, o 22:48 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

o8OwHctc napisał(a):
resonator napisał(a):
Ubuntu36ptDescriptors


Podaj deklarację.

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: 25 maja 2016, o 07:25 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

A te czcionki masz zapisane w pamięci flash? I nie przekraczasz 64kB pamięci?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 maja 2016, o 14:28 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

Sparrow-hawk napisał(a):
A te czcionki masz zapisane w pamięci flash? I nie przekraczasz 64kB pamięci?


Tak, wszystko jest zapisane w pamięci flash. Cała biblioteka z czcionką włącznie waży zaledwie 4100 bajtów



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 maja 2016, o 21:48 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Stworzyłem sobie taki o to kod na bazie twojego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I działa bez zarzutu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2016, o 01:00 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

Sparrow-hawk napisał(a):
Stworzyłem sobie taki o to kod na bazie twojego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I działa bez zarzutu.


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

jeśli używa się "__flash" to jest ok, tzn. wskaźnik jest zmienną, ale jeśli chce się użyć "PROGMEM" to już nie obejdzie się bez dodatkowego "const" przed nazwą wskaźnika co powoduje, że wskaźnik jest stałą i klops..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2016, o 09:52 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Rozumiem, że chcesz aby wskaźnik na tablicę struktur też był zapisany w pamięci flash?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Nie wiem dlaczego z atrybutem PROGMEM jest problem, ale nie upierałbym się przy stosowaniu go. Jak widzisz w moim kodzie mogłem zrezygnować również ze stosowania funkcji pgm_read_byte();



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2016, o 20:19 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

Sparrow-hawk napisał(a):
Rozumiem, że chcesz aby wskaźnik na tablicę struktur też był zapisany w pamięci flash?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Nie wiem dlaczego z atrybutem PROGMEM jest problem, ale nie upierałbym się przy stosowaniu go. Jak widzisz w moim kodzie mogłem zrezygnować również ze stosowania funkcji pgm_read_byte();



Sam wskaźnik ma być zmienną aby w trakcie działania programu można było zmieniać adres na jaki wskazuje. Upieram się przy PROGMEM bo wszystkie czcionki generuję tak a nie inaczej. Ale może masz rację, poeksperymentuje z __flash .



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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