打印
[技术问答]

又是我(问题少年),关于N76E003和M0518的欠压中断问题!

[复制链接]
2521|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小S咯|  楼主 | 2018-1-18 17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想实现这样一个功能。一个全局变量char data_temp=0;,当把IC的电源(5V)快速关闭,再快速打开,这个data_temp就会自加。断电久一点,data_temp就会变回0;我想到用欠压中断来实现这个功能,我感觉自己的逻辑没有错,但是效果并不好。。。代码如下
//欠压中断初始化,4.4v以下出发中断
void BOD_Init(void)
{
  SYS->REGWRPROT = 0x59;
  SYS->REGWRPROT = 0x16;
  SYS->REGWRPROT = 0x88;               //解除保护寄存器
  SYS_EnableBOD(SYS_BODCR_BOD_INTERRUPT_EN,SYS_BODCR_BOD_VL_4_4V);
  SYS->REGWRPROT = 0;                   //保护寄存器
  NVIC_EnableIRQ(BOD_IRQn);          //开中断
}

//中断服务函数
void BOD_IRQHandler(void)
{
  SYS->BODCR |= SYS_BODCR_BOD_INTF_Msk;       //清中断标志
  if(SYS_GetBODStatus())                 //VDD下降到4.4V 的中断
  {  
    BOD_flag = 1;
  }
  if(!SYS_GetBODStatus())              //VDD恢复到4.4V以上中断
  {
    if(BOD_flag)                         //确保VDD先下降4.4V以下
    {
      BOD_flag = 0;
      data_temp++;
    }

  }
}请各位指导一下。。
沙发
huahuagg| | 2018-1-18 18:10 | 只看该作者
因为你这个快速过程是要给系统反应时间的,虽然系统很快,但是如果电流变化太突然,没有机会完成你的设置。

使用特权

评论回复
板凳
huahuagg| | 2018-1-18 18:10 | 只看该作者
你可以给电源设置一个足够大的电容,用于减缓这个电压突变的速度,让系统有时间做出响应。

使用特权

评论回复
地板
xinpian101| | 2018-1-18 19:26 | 只看该作者
欠压不是断电,是电压降低,不稳定波动,防止程序跑飞用的。

使用特权

评论回复
5
小S咯|  楼主 | 2018-1-19 08:05 | 只看该作者
huahuagg 发表于 2018-1-18 18:10
因为你这个快速过程是要给系统反应时间的,虽然系统很快,但是如果电流变化太突然,没有机会完成你的设置。 ...

有人已经完成了,而且蛮稳定,就是没有思路。。

使用特权

评论回复
6
小S咯|  楼主 | 2018-1-19 11:23 | 只看该作者
xinpian101 发表于 2018-1-18 19:26
欠压不是断电,是电压降低,不稳定波动,防止程序跑飞用的。

有人已经完成了,而且蛮稳定,就是没有思路。。
我也大概知道,虽然关了电源,但是有电容什么的。。。
现在是其他人的比较稳定,我的却不行。。不知道是什么原因,电容什么的都差不多

使用特权

评论回复
7
xinxianshi| | 2018-1-19 18:42 | 只看该作者
这个如果搞出来,那用处还是很大的。

使用特权

评论回复
8
小S咯|  楼主 | 2018-1-20 08:04 | 只看该作者
xinxianshi 发表于 2018-1-19 18:42
这个如果搞出来,那用处还是很大的。

还没搞出来哇

使用特权

评论回复
9
dongnanxibei| | 2018-1-21 19:45 | 只看该作者
在哪儿看的人家做出来了啊,请教一下他,我也想了解这个。

使用特权

评论回复
10
xinpian101| | 2018-1-21 21:07 | 只看该作者
那应该讲究个快速,在一触发那个中断就立马保存数据。

使用特权

评论回复
11
小S咯|  楼主 | 2018-1-22 08:20 | 只看该作者
dongnanxibei 发表于 2018-1-21 19:45
在哪儿看的人家做出来了啊,请教一下他,我也想了解这个。

不认识呀。。。。。我也想问。。。

使用特权

评论回复
12
小S咯|  楼主 | 2018-1-22 08:21 | 只看该作者
xinpian101 发表于 2018-1-21 21:07
那应该讲究个快速,在一触发那个中断就立马保存数据。

问题就在这,他的代码可以从容的关电源开电源,不用很快速,真不知道怎么做的

使用特权

评论回复
13
落叶行健ywm| | 2018-1-22 09:16 | 只看该作者
欠电压的时间根本反应来不及的。一般都不会这么干。我之前都是用电压检测功能,电压进来后,用二极管过渡下,电压检测前段。这样前段掉电立马能检测到,后端放个大电容,这样能保证单片在断电情况下也有时间来出来一些事,比如保存数据等。

使用特权

评论回复
14
小S咯|  楼主 | 2018-1-22 09:31 | 只看该作者
落叶行健ywm 发表于 2018-1-22 09:16
欠电压的时间根本反应来不及的。一般都不会这么干。我之前都是用电压检测功能,电压进来后,用二极管过渡下 ...

欠压检测和电压检测是不一样的吗?M0518有这个功能吗??我看手册没发现

使用特权

评论回复
15
mintspring| | 2018-1-23 20:19 | 只看该作者
这个还真不懂,那位大神分享一下

使用特权

评论回复
16
xinpian101| | 2018-1-28 10:57 | 只看该作者
看来这个是电路的问题,要研究一下模电了。

使用特权

评论回复
17
小S咯|  楼主 | 2018-1-31 08:13 | 只看该作者
xinpian101 发表于 2018-1-28 10:57
看来这个是电路的问题,要研究一下模电了。

感觉不是电路实现的。。。。。

使用特权

评论回复
18
小S咯|  楼主 | 2018-2-26 16:26 | 只看该作者

使用特权

评论回复
19
yiy| | 2018-2-26 19:58 | 只看该作者
这个,,能够实现的话,那真难想象,谁能实现,楼主实现了吗

使用特权

评论回复
20
小S咯|  楼主 | 2018-2-27 08:10 | 只看该作者
yiy 发表于 2018-2-26 19:58
这个,,能够实现的话,那真难想象,谁能实现,楼主实现了吗

没有啊。。。。

使用特权

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

本版积分规则

19

主题

178

帖子

4

粉丝