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



Teraz jest 23 kwi 2024, o 22:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 30 lip 2018, o 11:20 
Offline
Użytkownik

Dołączył(a): 01 sty 2013
Posty: 169
Pomógł: 0

Hej Zadeklarowałem i zdefiniowałem znaki w pamięci Flash w sposób jaki opisuje Mirek.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ale wydaje mi się, że jeśli są w pamięci Flash to nie można ich zredefiniować w trakcie trwania programu prawda ?

Spróbowałem więc umieścić je w pamięci RAM

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


Kompilator mówi :
warning: left-hand operand of comma expression has no effect [-Wunused-value] lcd_defchar = (0x87, Skr);

a także

error: lvalue required as left operand of assignment lcd_defchar = (0x87, Skr);

Czy ktoś może podpowiedzieć mi jak to definiować i deklarować aby móc zmieniać adresy znaków (w każdej funkcji inny znak pod tym samym adresem )



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2018, o 12:31 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

Zakładam, że lcd_defchar to jest nazwa funkcji. Po co dałeś znak równości między nazwą funkcji a listą argumentów w nawiasie? Powinno raczej być:
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: 30 lip 2018, o 12:41 
Offline
Użytkownik

Dołączył(a): 01 sty 2013
Posty: 169
Pomógł: 0

Tak to jest jak się od bladego świtu siedzi nad kodem.
Nie wiem czemu ale zupełnie nie widziałem tego = a warning i error nie naprowadziły mnie.

Swoją drogą często sypie mi się workspace. To mnie zmyliło i nie zwracałem uwagi na treść warningów.

Dzięki !!!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2018, o 12:43 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

Nie wiem, czy dobrze zrozumiałem pytanie, ale przecież jeśli nawet dane są we FLASH, to domyślam się, że funkcja lcd_defchar_P() odczytuje te dane i zapisuje je w pamięci LCD. Jeśli więc użyjesz tej funkcji dwa razy z tym samym adresem:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

więc można zapisywać dane znaków w pamięci FLASH i nie przeszkadza to w ich zmianie.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2018, o 12:58 
Offline
Użytkownik

Dołączył(a): 01 sty 2013
Posty: 169
Pomógł: 0

Zgadza się. Próbowałem też w ten sposób, ale wysypało mi dużo warningów. Pomyślałem, że zmienne w pamięci Flash są obwarowane jakimiś obostrzeniami dodatkowymi, albo jakieś ograniczenia widoczności bo na to wskazywały warningi i errory. Ale to potwierdza, że sypnął mi się workspace. Muszę to wszystko przeimportować jeszcze raz. Ale na prawdę dużo pomogłeś. Jeszcze trochę brakuje mi żeby to wszystko móc dobrze usystematyzować.



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 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO