avr外部中断使用一些注意事项
时间:11-23
来源:互联网
点击:
最近做的这个玩意,外部中断一直不稳定,搞的我很郁闷,查了很久不知道什么问题,找到一些蛛丝马迹。。
做个记录,备用,问题描述:一次中断,2次响应。。上升沿中断的时候,下降沿也一起中断了。。
总之是很让人悲剧的问题,原因未知,估计是机械开关有些干扰之类的,在实际用的时候,发现有时候外部也会有干扰。。所以
1,一定要在中断脚上加滤波电容,否则很麻烦,尤其是在实际应用的时候。。
2,要将内部的上拉电阻使能,也就是DDRD=0;PORTD=1;(语法不正确,仅作演示)
3,由于AVR的响应速度很快,多次中断会把标志位存放好,所以中断出来的时候清掉那个标志位,
例如 GIFR=(1 4,在中断中加少量延时,然后再读端口电平来判断是否是真正触发(针对边沿触发来说)
总结:下降沿触发比上升沿稳定,电平触发比边沿触发稳定,所以。。。
omyladygaga~原因另外补充吧,仅一点经验之谈,对不对还是个问题,有待考证。。。
做个记录,备用,问题描述:一次中断,2次响应。。上升沿中断的时候,下降沿也一起中断了。。
总之是很让人悲剧的问题,原因未知,估计是机械开关有些干扰之类的,在实际用的时候,发现有时候外部也会有干扰。。所以
1,一定要在中断脚上加滤波电容,否则很麻烦,尤其是在实际应用的时候。。
2,要将内部的上拉电阻使能,也就是DDRD=0;PORTD=1;(语法不正确,仅作演示)
3,由于AVR的响应速度很快,多次中断会把标志位存放好,所以中断出来的时候清掉那个标志位,
例如
总结:下降沿触发比上升沿稳定,电平触发比边沿触发稳定,所以。。。
omyladygaga~原因另外补充吧,仅一点经验之谈,对不对还是个问题,有待考证。。。
avr外部中断注意事 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)