单片机中断怎么响应不过来呢?

[复制链接]
4943|11
 楼主| wenjie605 发表于 2008-5-15 16:27 | 显示全部楼层 |阅读模式
一个周期大约是0.8ms的脉冲当作外部中断出发信号,发现中断只有一小部分进了,是单片机中断反应不过来吗?我用的是16M晶振啊。<br />谢谢个位帮我分析一下。
fishxia 发表于 2008-5-15 17:01 | 显示全部楼层

具体点

  
chunyang 发表于 2008-5-15 17:07 | 显示全部楼层

应该是你的程序结构问题

0.8mS的时间并不充裕,中断处理要精简。
 楼主| wenjie605 发表于 2008-5-15 17:23 | 显示全部楼层

中断程序如下:

SIGNAL(SIG_INTERRUPT1)&nbsp;&nbsp;&nbsp;&nbsp;//中断服务子程序<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;a++;<br />&nbsp;&nbsp;&nbsp;return&nbsp;a;<br />&nbsp;&nbsp;&nbsp;}<br /><br />整个程序就试验这点功能<br /><br />刚才听一个朋友说中断响应0.8ms的外部中断速度可能不够,建议采用计数器中断。
lbx_00 发表于 2008-5-15 19:10 | 显示全部楼层

你是用的keil吗,中断里不要return

在中断(无论什么中断)里用return会出问题的,至于为什么,我也不知道,实在用的过程中发现的,要用全局变量,另外,具体到你的东西,外中断要设置为沿触发。
5880527 发表于 2008-5-15 19:43 | 显示全部楼层

0.8ms的中断用定时器扫描都来得及

估计是你的硬件有问题,比如输入部分电容过大
AIRWILL 发表于 2008-5-16 21:55 | 显示全部楼层

中断服务程序<br /><br />可以&nbsp;return<br />但&nbsp;return&nbsp;不能带返回值
1014 发表于 2008-5-16 23:11 | 显示全部楼层

不要怀疑MCU的中断响应能力!!!

更不要怀疑MCU反应不过来,通常情况下那是不可能的!<br />要深入研究的话就好好看看具体MCU的内部结构!
5880527 发表于 2008-5-16 23:21 | 显示全部楼层

控制上常把编码器信号接进来那岂不是玩完了

电机上套一编码器,每一圈几百几千个脉冲,随便动动就是好多KHz的脉冲进来
xuxiaozhao 发表于 2008-5-17 00:17 | 显示全部楼层

中断

中断一般不能带参数,还有不能带返回值,因为不是别调用他,至于为什么只检到一部分中数,就看你什么中断哦.什么单片机,有些单片机要手到清中断标志位.
liudewei 发表于 2008-5-19 09:27 | 显示全部楼层

LZ自己仿真,单步看汇编窗口程序执行的路径,观察执行的时

应该就可以找到原因所在。
CGCHB 发表于 2008-5-19 11:47 | 显示全部楼层

我认为你没有保护好现场

我感觉你断点现场一定没有保护好<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

102

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部