搜索
bottom↓
回复: 0

请教马潮老师AVR关于外部中断INT0电平中断唤醒CPU的问题

[复制链接]

出0入0汤圆

发表于 2010-12-5 20:15:26 | 显示全部楼层 |阅读模式
马老师您说:不管是使用51还是AVR,只要采用电平触发方式,那么在进入中断后要设法将触发电平信号取消。如果不取消,51不会爆堆栈(自己不能打断自己),但每次中断退出,又进入了。AVR的中断服务如果是不允许嵌套的,那么同51类似;而在允许嵌套时,会将堆栈压爆。

如果在中断处理函数里将CPU(掉电模式)唤醒了,将睡眠模式关掉,再将电平中断模式关掉(防止再次进入中断),如果低电平的时间是短暂,程序还是能跳出中断回到主函数,但是如果低电平的时间长了点,那么PC似乎就是停在中断处理函数的底端或者飞掉了。

我在一段程序中就出现了这种问题,因为做的是在外部电压降到一定程度的时候将CPU唤醒并且要测出当前的电压,有时候会有出现长时间低电平的时候,所以我的程序只有在90%的情况下是可以用的。

因为没有Jtag,所以我在主函数将一端口电平置高,然后再中断处理函数的底部将这一端口置低,用示波器观察,如果中端口的低电平时间过长就发现这一端口持续为低在也高不上去,也就是说回不到主函数了,PC好像停在那里了或者是已经不知道飞哪里去了。除了复位基本没其他办法(所以使用了看门狗解决问题一旦持续时间过长就复位)。

请问马潮老师这个现象是否正常?我看过您的其他的帖子,好像没有关于电平中断唤醒CPU之后的详细处理过程。如果需要将CPU掉电唤醒却又不能保证低电平信号可以及时去除,纯软件该如何解决呢?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-10 20:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表