STM32F103ZET6找一个存储空间,并将一个8位数写入到里面
时间: 2023-05-17 16:03:32 浏览: 72
可以使用STM32F103ZET6的Flash存储器来存储数据。具体来说,可以使用FLASH_WriteByte函数将8位数写入Flash存储器中。以下是示例代码:
#include "stm32f10x_flash.h"
#define FLASH_USER_START_ADDR ((uint32_t)0x08008000) // Flash存储器的起始地址
#define FLASH_USER_END_ADDR ((uint32_t)0x0800FFFF) // Flash存储器的结束地址
void write_data_to_flash(uint8_t data)
{
uint32_t addr = FLASH_USER_START_ADDR;
FLASH_Unlock(); // 解锁Flash存储器
while (addr <= FLASH_USER_END_ADDR) {
if (FLASH_ErasePage(addr) == FLASH_COMPLETE) { // 擦除Flash存储器中的一页
if (FLASH_ProgramByte(addr, data) == FLASH_COMPLETE) { // 将数据写入Flash存储器中
addr++;
} else {
break;
}
} else {
break;
}
}
FLASH_Lock(); // 锁定Flash存储器
}
在上面的代码中,我们使用了FLASH_Unlock函数来解锁Flash存储器,然后使用FLASH_ErasePage函数擦除Flash存储器中的一页,最后使用FLASH_ProgramByte函数将数据写入Flash存储器中。写入完成后,我们使用FLASH_Lock函数来锁定Flash存储器,以保护数据的安全性。
阅读全文