你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F042 PWR_PVD

[复制链接]
Owen 提问时间:2018-4-28 15:52 /
各位大侠,如下配置,掉电不进中断,请问哪里问题?
void PVD_Configuration(void)
{
        #if 1
    EXTI_InitTypeDef EXTI_InitStructure;

    /* Enable PWR and BKP clock */
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

    /* Configure EXTI Line16(PVD Output) to generate an
     interrupt on rising and falling edges */
    EXTI_ClearITPendingBit(EXTI_Line16);
    EXTI_InitStructure.EXTI_Line = EXTI_Line16;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);

        PWR_PVDLevelConfig(PWR_PVDLevel_7);

    /* Enable the PVD Output */
    PWR_PVDCmd(ENABLE);
    #endif
}


{
    /* Enable the PVD Interrupt */
    NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);

}
收藏 评论3 发布时间:2018-4-28 15:52

举报

3个回答
疯de_恒 回答时间:2018-4-28 16:35:04
下面那段代码是另外一个函数的么?看着那么奇怪的?另外你的中断服务函数呢?你怎么知道没进入中断呢?
Owen 回答时间:2018-4-30 10:01:09
す疯Ⅱ恒す 发表于 2018-4-28 16:35
下面那段代码是另外一个函数的么?看着那么奇怪的?另外你的中断服务函数呢?你怎么知道没进入中断呢? ...

下面是一段函数提取出来的,中断函数:
void PVD_IRQHandler(void)
{       
        Puts("\r\n PVD_IRQHandler");
        if(EXTI_GetITStatus(EXTI_Line16) != RESET)
        {
                Puts("\r\n PVD_IRQHandler");
                EXTI_ClearITPendingBit(EXTI_Line16);
        }
}
疯de_恒 回答时间:2018-4-30 21:48:54
Owen.li 发表于 2018-4-30 10:01
下面是一段函数提取出来的,中断函数:
void PVD_IRQHandler(void)
{       

你初始化的时候应该把中断相关配置好,比如上面的优先级。
还有,你是直接掉电的么?我估计串口没来得及发数据就没电了,或者你用可调电源试试,从3.3V电调到2.5V看看。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版