打印
[STM32F4]

ST 有 HAL 写的 PVD 范例吗?

[复制链接]
2298|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 | 只看该作者
有例子不参考,肯定是漏了部分设置了。库函数就这点不好,你不看参考,很容易忽略某个函数设置。

使用特权

评论回复
5
598330983| | 2018-7-15 17:41 | 只看该作者
下载版主说的那个开发支持包

使用特权

评论回复
6
wahahaheihei| | 2018-7-15 23:22 | 只看该作者
有啊,跑起来如何?

使用特权

评论回复
7
木木guainv| | 2018-7-23 13:45 | 只看该作者
请问什么是pvd

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

103

主题

441

帖子

1

粉丝