打印
[Kinetis]

关于KE04单片机的低电压检测中断

[复制链接]
2381|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 walkersum 于 2014-9-16 19:43 编辑

我想要在设备断电的时候,将四个变量存储下来,因此应用了KE04单片机的低电压检测中断功能,但是实际测试下来只能完成两个变量的存储,经过测试发现,电压降下来的时候,首先进入设置的低电压报警中断点,但是很快就复位了,但是那个LVDRST位我是设置的0(关闭的),我的希望是低电压中断的时间能够长一些,可以完成我需要的变量的存储,求高手指点。以下是我的程序设置:
void PMC_Init(void)
{
    NVIC_EnableIRQ(LVD_LVW_IRQn);               //使能低电压中断sss
    PMC->SPMSC1 &= ~PMC_SPMSC1_LVDRE_MASK;      //关闭复位sss
    PMC->SPMSC1 |= PMC_SPMSC1_LVWIE_MASK;       //使能低电压警告中断sss
    PMC->SPMSC2 |= PMC_SPMSC2_LVDV_MASK;        //选择高电压范围sss
    PMC->SPMSC2 &= ~PMC_SPMSC2_LVWV_MASK;
    PMC->SPMSC2 |= PMC_SPMSC2_LVWV(0);          //低电压中断触发点4.4V
}
void LVW_Isr(void)
{
    /***存储部分***/
    PMC->SPMSC1 |= PMC_SPMSC1_LVWACK_MASK;  //清除警告标志sss
}

相关帖子

沙发
FSL_TICS_Robin| | 2014-9-17 11:14 | 只看该作者
楼主你好
LVDRE位是只写一次的,请先确保此位在你调用PMC_Init()配置前未被操作过。

使用特权

评论回复
板凳
FSL_TICS_Robin| | 2014-9-17 11:16 | 只看该作者
另外你的电压从4.4v跌落到4.3v的时间有多长是否测试过?
可能因为时间过短,所以你的存储操作来不及完成。

使用特权

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

本版积分规则

14

主题

50

帖子

0

粉丝