[STM32F4] ST 有 HAL 写的 PVD 范例吗?

[复制链接]
2511|6
 楼主| zhang..yb 发表于 2018-7-13 15:41 | 显示全部楼层 |阅读模式
void PVD_Init(void)

{
   
       
    PWR_PVDTypeDef PWR_PVDStruct;
    __HAL_RCC_PWR_CLK_ENABLE();
   PWR_PVDStruct.PVDLevel = PWR_PVDLEVEL_7;             // 2.9V

    //PWR_PVDStruct.Mode = PWR_PVD_MODE_IT_RISING;      
    PWR_PVDStruct.Mode = PWR_PVD_MODE_IT_RISING_FALLING;

    HAL_PWR_ConfigPVD(&PWR_PVDStruct);


    HAL_PWR_EnablePVD();
}
void HAL_PWR_PVDCallback(void)
{
  HAL_PWR_EnableBkUpAccess();
  HAL_PWR_EnableBkUpReg();
__HAL_RCC_BKPSRAM_CLK_ENABLE();
       
U32CopyToBKP(0xaabbccdd, 0);
       
}

以上程序进不了 PVD 中断
 楼主| zhang..yb 发表于 2018-7-13 16:46 | 显示全部楼层
void PVD_Init(void)
{
   
       
    PWR_PVDTypeDef PWR_PVDStruct;
       
          __HAL_RCC_PWR_CLK_ENABLE();

    PWR_PVDStruct.PVDLevel = PWR_PVDLEVEL_7;             // 2.9V

    PWR_PVDStruct.Mode = PWR_PVD_MODE_IT_RISING;        
          //PWR_PVDStruct.Mode = PWR_PVD_MODE_IT_RISING_FALLING;

    HAL_PWR_ConfigPVD(&PWR_PVDStruct);
   
          HAL_NVIC_SetPriority(PVD_IRQn,4,0);
    HAL_NVIC_EnableIRQ(PVD_IRQn);
    HAL_PWR_EnablePVD();
}

这样写就可以了
香水城 发表于 2018-7-13 17:10 | 显示全部楼层
除了对PVD本身做配置外,还要对基于PVD所对应的exti16中断进行NVIC配置。
HAL库里有例程。比如:
\Repository\STM32Cube_FW_F4_V1.21.0\Projects\STM324xG_EVAL\Examples\PWR\PWR_PVD
稳稳の幸福 发表于 2018-7-14 19:34 | 显示全部楼层
有例子不参考,肯定是漏了部分设置了。库函数就这点不好,你不看参考,很容易忽略某个函数设置。
598330983 发表于 2018-7-15 17:41 | 显示全部楼层
下载版主说的那个开发支持包
wahahaheihei 发表于 2018-7-15 23:22 来自手机 | 显示全部楼层
有啊,跑起来如何?
木木guainv 发表于 2018-7-23 13:45 | 显示全部楼层
请问什么是pvd
您需要登录后才可以回帖 登录 | 注册

本版积分规则

103

主题

441

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部