stm32f103c8t6 flash读写程序
时间: 2025-02-17 12:15:58 浏览: 126
### STM32F103C8T6 Flash 存储器读写操作
对于STM32F103C8T6微控制器而言,其内部Flash存储器的操作涉及特定的函数调用来实现数据的安全可靠存取。通常情况下,在执行任何闪存编程之前,需要解锁闪存以允许对其进行修改;完成所需更改之后,则应锁定闪存以防意外改动。
下面展示一段用于向指定地址写入以及从该地址读回数据的例子:
```c
#include "stm32f1xx_hal.h"
// 假设已经初始化并配置好了HAL库环境
void Flash_Write(uint32_t Address, uint32_t Data){
HAL_FLASH_Unlock(); // 解锁FLASH控制寄存器访问权限
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR);
if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, Data) != HAL_OK){
Error_Handler();
}
HAL_FLASH_Lock(); // 锁定FLASH控制寄存器访问权限
}
uint32_t Flash_Read(uint32_t Address){
return (*(__IO uint32_t*)Address);
}
```
上述代码片段展示了如何通过`HAL_FLASH_Program()`函数来往给定位置写入一个字的数据,并利用指针间接寻址的方式获取相应内存单元的内容[^1]。
值得注意的是,在实际应用中应当考虑更多细节,比如错误处理机制、擦除页面前先清空原有内容等措施,确保程序稳定性和数据一致性。
阅读全文
相关推荐















