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



Teraz jest 1 sie 2026, o 11:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 15 wrz 2014, o 19:02 
Offline
Użytkownik

Dołączył(a): 09 gru 2013
Posty: 103
Pomógł: 3

Witajcie :)

Przyjmijmy, że mamy taką dwuwymiarową tablicę umieszczoną 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.


i chciałbym ją skopiować z pamięci FLASH do 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.


poprzez wywołanie:

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


jak to zrobić poprawnie?

Kod:
warning: passing argument 1 of 'draw_bitmap' from incompatible pointer type


Z góry dziękuję za wszelką pomoc :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 20:11 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 296
Lokalizacja: Szczecin
Pomógł: 47

Sposób rozwiązania przekazywania do funkcji tablicy dwuwymiarowej jest opisany
w książce "Wskaźniki w języku C-przewodnik" (R. Reese):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Kompiluje się bez problemu, jeżeli działa to OK.
( trzeba przerobić jakieś 3 rozdziały, aby próbować zrozumieć-dlaczego tak ma być)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 20:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Elektro_maniak napisał(a):
const uint8_t tab[256][12] PROGMEM = { {...}, ...}


Ta tablica to troszkę duża może braknąć ram-u.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 20:28 
Offline
Użytkownik

Dołączył(a): 09 gru 2013
Posty: 103
Pomógł: 3

RAM-u starczy, bo to Atmega 2561 (8KB RAM)
Krish, kod kompiluje się, ale niestety nie działa. Myślę, że jesteśmy blisko :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 20:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

Spróbuj może tak, choć być mistrzem wskaźników dopiero mam w planach :), ale spróbować nie zaszkodzi:

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


Wskaźniki ciężki temat, ale jak się opanuje to co się kozakiem jest xD

z Niebieskim pozdRowieniem,
Doman89


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 21:11 
Offline
Użytkownik

Dołączył(a): 09 gru 2013
Posty: 103
Pomógł: 3

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

mamy
Kod:
 warning: passing argument 1 of 'draw_bitmap' from incompatible pointer type



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 21:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Taki kod mi się skompilował:

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


PS Oczywiście wyżej bez PROGMEM w linijce:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


z Niebieskim pozdRowieniem,
Doman89



Ostatnio edytowano 15 wrz 2014, o 21:52 przez doman89, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 21:40 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 296
Lokalizacja: Szczecin
Pomógł: 47

W tym pierwszym kodzie porobiłem trochę błędów
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dopisałem drugi sposób dedinicji funkcji ( oba dają ten sam kod)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 21:51 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Oczywiście wiesz, że można to załatwić przez coś w tym stylu:

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: 15 wrz 2014, o 21:58 
Offline
Użytkownik

Dołączył(a): 09 gru 2013
Posty: 103
Pomógł: 3

xor, najprostsze rozwiązanie, działa na 100%. Dziękuję, leci pomógł.
Dla krish oraz doman89 również pochwała za chęć pomocy.
Pozdrawiam :)



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

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