LZ
Size: a a a
LZ
LZ
void FLASH_Write(uint32_t Address, uint16_t Data)
{
FLASH->CR |= FLASH_CR_PG; //Разрешаем программирование флеша
while ((FLASH->SR&FLASH_SR_BSY)); //Ожидаем готовности флеша к записи
*(__IO uint16_t*)Address = Data; //Пишем младшие 2 бата
while ((FLASH->SR&FLASH_SR_BSY)); //Ожидаем окончания записи во флеш
while (!(FLASH->SR & FLASH_SR_EOP));
FLASH->SR = FLASH_SR_EOP;
FLASH->CR &= ~(FLASH_CR_PG); //Запрещаем программирование флеша
}
E
LZ
E
LZ
E
LZ
E
LZ
E
LZ
typedef union _type_t
{
float float_val;
uint16_t arr[2U];
} type_t
type_t type;
...
// set as float val
type.float_val = 5.3f;
...
// First and second half word access
type.arr[0]
type.arr[1]
AK
LZ
E
AK
LZ
E
E