打印
[PIC®/AVR®/dsPIC®产品]

电平变化中断的问题

[复制链接]
455|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我要实现的功能是俩小灯,俩按键,按键分为key+和key-,长按key-会关机,也就是进入了sleep模式,然后key+开启电平变化中断,用于唤醒mcu。
然后现在有时候会出现这种情况,关机之后,按key+开不了机了,这种情况出现的频率不高,几十次甚至上百次会出现一次,然后重新上电就又好了。
示波器看了按键是没问题的,mcu电源也没问题。这是什么情况呢?
还有就是用MPLAB X IDE进行仿真,好像不会出现上述情况,本来想仿真下看看是不是卡在哪里了,按了好久也不会出现。
请大佬解答。

对了,最后说一下,关机后测的电流是0.6uA,正常的;开机最低的正常电流是4.8uA;
然后按key+开机,如果没唤醒,电流会变为4.6uA,这是说明按键有反应的,但是不知道怎么没到正常工作的电流。

使用特权

评论回复
沙发
lcczg| | 2023-9-5 11:22 | 只看该作者
你在唤醒中断里加个IO翻转,先看看唤醒中断是不是一直好的。

使用特权

评论回复
板凳
1564564|  楼主 | 2023-9-5 14:22 | 只看该作者
lcczg 发表于 2023-9-5 11:22
你在唤醒中断里加个IO翻转,先看看唤醒中断是不是一直好的。

现在就是唤醒中断函数不把标志位清0,按下就可以一直反转。这个中断应该是没问题的。

使用特权

评论回复
地板
xch| | 2023-9-5 18:25 | 只看该作者
Power_off(); 是啥代码?这段switch ... case ... 代码是在中断服务函数中还是后台处理函数中?

使用特权

评论回复
5
1564564|  楼主 | 2023-9-6 09:06 | 只看该作者
xch 发表于 2023-9-5 18:25
Power_off(); 是啥代码?这段switch ... case ... 代码是在中断服务函数中还是后台处理函数中? ...

power_off()就是進入了sleep模式;switch就是正常循环运行的代码,不是在中断服务函数中。

使用特权

评论回复
6
zlf1208| | 2023-9-6 09:56 | 只看该作者
Power_off()运行后还能够break吗?这个函数应该放到外面才对吧?

使用特权

评论回复
7
wutaosamuel| | 2023-9-6 10:21 | 只看该作者
你怎么判断mcu开机了还是没开机

使用特权

评论回复
8
1564564|  楼主 | 2023-9-6 11:34 | 只看该作者
wutaosamuel 发表于 2023-9-6 10:21
你怎么判断mcu开机了还是没开机

有小灯会点亮

使用特权

评论回复
9
wutaosamuel| | 2023-9-6 14:35 | 只看该作者
能用串口在关键地方printf打印一些文字出来,尤其是在控制小灯的代码那边
对比下异常和正常情况时,文字打印顺序对不对

使用特权

评论回复
10
1564564|  楼主 | 2023-9-6 17:25 | 只看该作者
wutaosamuel 发表于 2023-9-6 14:35
能用串口在关键地方printf打印一些文字出来,尤其是在控制小灯的代码那边
对比下异常和正常情况时,文字打 ...

好的,謝謝,試一下看看。

使用特权

评论回复
11
1564564|  楼主 | 2023-9-8 16:06 | 只看该作者
感谢各位大佬,最后解决问题的方式很奇特,我是一直认为是我写的中断部分代码有问题的,但是我又找不到问题所在,所以我就直接复制别人的代码,然后改引脚,调用的函数啥的,然后就好了,它就好了。虽然有点无语,但是问题解决了。

使用特权

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

本版积分规则

7

主题

81

帖子

0

粉丝