ATNEL tech-forum
https://forum.atnel.pl/

funkcja kopiująca bufor VS bufor w pamięci flash
https://forum.atnel.pl/topic22550.html
Strona 1 z 1

Autor:  xentis [ 12 wrz 2019, o 18:01 ]
Tytuł:  funkcja kopiująca bufor VS bufor w pamięci flash

Witam

Mam pytanie, bo natrafiłem na zagwozdkę. Mianowicie mam funkcję kopiującą bufor danych po I2C.
Argumentami funkcji są: adres slave, adres komórki pamięci, rozmiar bufora i wskaźnik na bufor.
I teraz jak przekazać do tej funkcji bufor danych znajdujący się we flash:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Samo podanie nazwy tablicy nie podoba się kompilatorowi:
Cytuj:
warning: passing argument 4 of 'I2C_send_buf' discards 'const' qualifier from pointer target type [enabled by default]

Czy jest jakiś inny sposób, niż tworzenie funkcji nadrzędnej która przekopiuje bufor z flash do ram i dopiero wyśle po I2C?

Autor:  mirekk36 [ 12 wrz 2019, o 18:02 ]
Tytuł:  Re: funkcja kopiująca bufor VS bufor w pamięci flash

No przecież wystarczy sobie dorobić własną funkcję

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


w której zamiast czytać bajty z RAM dodasz sobie czytanie z FLASH za pomocą pgm_read_byte()

------------------------ [ Dodano po: 1 minucie ]

dokładnie na takiej zasadzie jak w każdej z moich książek - zajrzyj chociażby do

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


i

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

Autor:  xentis [ 12 wrz 2019, o 18:27 ]
Tytuł:  Re: funkcja kopiująca bufor VS bufor w pamięci flash

No o tym nie pomyślałem :oops: Zamiast napisać właściwą funkcję cały czas męczę tę niewłaściwą.
Nie mam więcej pytań.
Dzięki

Autor:  andrews [ 12 wrz 2019, o 18:28 ]
Tytuł:  Re: funkcja kopiująca bufor VS bufor w pamięci flash

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

... i możesz do jednej funkcji przekazywać dowolny wskaźnik, zarówno do RAM jak i do FLASH.

https://forum.atnel.pl/topic19149.html#p194746

Autor:  mirekk36 [ 12 wrz 2019, o 18:39 ]
Tytuł:  Re: funkcja kopiująca bufor VS bufor w pamięci flash

andrews napisał(a):
Można też tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

... i możesz do jednej funkcji przekazywać dowolny wskaźnik, zarówno do RAM jak i do FLASH.

https://forum.atnel.pl/topic19149.html#p194746


Aż mnie korciło napisać, że za chwilkę można spodziewać się jak jastrzębia - nadlatującego kolegi andrew ;) z propozycją __memx ;)

Autor:  andrews [ 12 wrz 2019, o 18:49 ]
Tytuł:  Re: funkcja kopiująca bufor VS bufor w pamięci flash

mirekk36 napisał(a):
Aż mnie korciło napisać, że za chwilkę można spodziewać się jak jastrzębia - nadlatującego kolegi andrew z propozycją __memx

No jakoś nie potrafiłem przepuścić takiej okazji :D

Autor:  xentis [ 12 wrz 2019, o 18:56 ]
Tytuł:  Re: funkcja kopiująca bufor VS bufor w pamięci flash

andrews napisał(a):
https://forum.atnel.pl/topic19149.html#p194746
O ja cie :shock:
Ale kolega nasmarował artykuł, a ja go przeoczyłem :?: Ale smakowitego czytania. Dzięki.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/