[STM32] Zapis danych do wewnętrznej pamięci EEPROM STM32L0 i STM32L1

W poprzednim wpisie przedstawiałem zapis do pamięci flash stm32f1 teraz zajmę się zapisem do wewnętrznej pamięci eeprom w stm32l0. Do czego wykorzystać eeprom chyba każdy wie więc możemy zaczynać…

Krótko o organizacji pamięci

Aby korzystać z wewnętrznej pamięci eeprom wystarczy nam wiedza jaki adres ma pierwsza komórka pamięci, ile pamięci ma nasz mikrokontroler i jakimi rozmiarami danych możemy posługiwać się przy zapisie.  Wszystkie te dane znajdziemy w dokumentacji:

Jak widzicie w przypadku mikrokontrolera którego używam (stm32l063) pierwsza komórka pamięci eeprom ma adres 0x08080000 a przy zapisie możemy korzystać z rozmiarów: byte, half-word i word.

P.S.
Bardzo polecam korzystać jak najczęściej z dokumentacji producenta nawet w celu sprawdzenia jakiś informacji zamieszczonych w niesprawdzonym źródle takim jak ten blog.

 Procedura zapisu

1. Odblokowujemy zapis do pamięci eeprom.
2. Za pomocą funkcji z biblioteki HAL dokonujemy zapisu.
3. Blokujemy zapis do pamięci eeprom.

Procedura odczytu

Tak jak w przypadku odczytu danych z pamięci flash odczytujemy dane odwołując się do adresu pamięci.

Przykład funkcji zapisu i odczytu

Nie ma tu żadnej filozofii, musimy znać tylko adres początkowy i wielkość wbudowanej pamięci eeprom.

 

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *