STM32L4系列选项字节option byte的理解(与STM32F103对比)

本文详细阐述了如何在STM32L431进入STOP模式时通过配置OptionByte来关闭看门狗,以避免因溢出复位。讲解了OptionByte的基本知识,操作机制以及在STM32L4与F103的区别,并提供了关键代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 问题背景:STM32L431 要加入stop模式来省电,发现进入stop模式后,看门狗在运行导致stop模式没有喂狗,然后系统会因为看门狗溢出导致复位。那么问题来了,如何在STM32L4 系列进入stop模式后关闭看门狗,那就必须得配置选项字节(Option byte)。
  2. 问题解决:直接贴代码如下,在系统初始化的时候加入。可以来配置选项字节,在进入stop模式,关闭看门狗,退出stop模式看门狗自动使能。
    void Config_Option_Byte(void)
    {//系统初始化调用
    	U32 uiFlag_IWDG;
    	uiFlag_IWDG = READ_BIT(FLASH->OPTR,FLASH_OPTR_IWDG_STOP);
    	if(uiFlag_IWDG)
    	{
    		PRINT_LOG("Need SET OPT\n");
    		HAL_FLASH_Unlock(); //解锁flash 
    		HAL_FLASH_OB_Unlock();//解锁“选项字节”
    		CLEAR_BIT(FLASH->OPTR,FLASH_OPTR_IWDG_STOP);// 配置 “stop模式关闭看门狗”
    
    		SET_BIT(FLASH->CR,FLASH_CR_OPTSTRT);//开始更新 “选项字节”
    		FLASH_WaitForLastOperation(100);// 等待flash 操作结束
    		CLEAR_BIT(FLASH->CR,FLASH_CR_OPTSTRT);//
    		HAL_FLASH_OB_Launch();// 加载flash,会导致重启. OPT 生效
    
    		HAL_FLASH_OB_Lock();
    		HAL_FLASH_Lock();
    	}
    	else
    	{
    		PRINT_LOG("WTD frozen in stop\n");
    	}
    
    }
    

    在系统初始化的时候,调用以上函数,就可以解决stop模式后关闭看门狗的问题。

  3. Option byte背景知识。option byte 是

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值