STM32/STM8技术论坛
直播中

yzz

未满1年用户 6经验值
擅长:控制/MCU
私信 关注
[问答]

STM32F429IGT6的flash配置OPTCR

为什么STM32F429VGT6有的OPTCR是0x0FFFAAED,有的是0x4FFFAAFD。
0x4FFFAAFD的这个怎么重新配置成0x0FFFAAED?

回帖(1)

1652711011.026500

3 天前
STM32F429IGT6和STM32F429VGT6是两个不同的STM32F4系列微控制器,它们具有不同的封装和内存配置。OPTCR(Option Control Register)是STM32微控制器中的一个寄存器,用于配置一些系统级别的选项,如启动模式、I/O配置等。不同的配置值可能表示不同的配置选项。

在您提到的情况下,STM32F429VGT6的OPTCR值可能是0x0FFFAAED或0x4FFFAAFD。要将0x4FFFAAFD的配置更改为0x0FFFAAED,您可以按照以下步骤操作:

1. 首先,确保您已经正确配置了STM32F429VGT6的时钟系统,以便能够正常访问OPTCR寄存器。

2. 在代码中,使用以下步骤来更改OPTCR的值:

```c
#include "stm32f4xx.h"

void set_optcr(uint32_t new_optcr_value) {
    // 使能写保护
    HAL_FLASH_Unlock();

    // 清除写保护
    HAL_FLASH_OB_Unlock();

    // 启动选项字节编程
    HAL_FLASHEx_OBProgram(OPTIONBYTE_USER, new_optcr_value);

    // 清除写保护
    HAL_FLASH_OB_Launch();

    // 禁用写保护
    HAL_FLASH_OB_DisableWRP(FLASH_BANK_1);

    // 锁定FLASH
    HAL_FLASH_Lock();
}

int main() {
    // 设置新的OPTCR值
    set_optcr(0x0FFFAAED);

    // 其他代码...
}
```

3. 将上述代码添加到您的项目中,并确保在更改OPTCR值之前已经正确配置了时钟系统。

4. 重新编译并烧录代码到STM32F429VGT6微控制器。

请注意,更改OPTCR值可能会影响微控制器的启动和运行行为。在更改配置之前,请确保您了解每个配置位的作用,并确保新的配置值适用于您的应用场景。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分