打印

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

[复制链接]
2584|11
手机看帖
扫描二维码
随时随地手机跟帖
沙发
fishxia| | 2008-5-15 17:01 | 只看该作者

具体点

使用特权

评论回复
板凳
chunyang| | 2008-5-15 17:07 | 只看该作者

应该是你的程序结构问题

0.8mS的时间并不充裕,中断处理要精简。

使用特权

评论回复
地板
wenjie605|  楼主 | 2008-5-15 17:23 | 只看该作者

中断程序如下:

SIGNAL(SIG_INTERRUPT1)    //中断服务子程序
  {
   a++;
   return a;
   }

整个程序就试验这点功能

刚才听一个朋友说中断响应0.8ms的外部中断速度可能不够,建议采用计数器中断。

使用特权

评论回复
5
lbx_00| | 2008-5-15 19:10 | 只看该作者

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

在中断(无论什么中断)里用return会出问题的,至于为什么,我也不知道,实在用的过程中发现的,要用全局变量,另外,具体到你的东西,外中断要设置为沿触发。

使用特权

评论回复
6
5880527| | 2008-5-15 19:43 | 只看该作者

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

估计是你的硬件有问题,比如输入部分电容过大

使用特权

评论回复
7
AIRWILL| | 2008-5-16 21:55 | 只看该作者

中断服务程序

可以 return
但 return 不能带返回值

使用特权

评论回复
8
1014| | 2008-5-16 23:11 | 只看该作者

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

更不要怀疑MCU反应不过来,通常情况下那是不可能的!
要深入研究的话就好好看看具体MCU的内部结构!

使用特权

评论回复
9
5880527| | 2008-5-16 23:21 | 只看该作者

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

电机上套一编码器,每一圈几百几千个脉冲,随便动动就是好多KHz的脉冲进来

使用特权

评论回复
10
xuxiaozhao| | 2008-5-17 00:17 | 只看该作者

中断

中断一般不能带参数,还有不能带返回值,因为不是别调用他,至于为什么只检到一部分中数,就看你什么中断哦.什么单片机,有些单片机要手到清中断标志位.

使用特权

评论回复
11
liudewei| | 2008-5-19 09:27 | 只看该作者

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

应该就可以找到原因所在。

使用特权

评论回复
12
CGCHB| | 2008-5-19 11:47 | 只看该作者

我认为你没有保护好现场

我感觉你断点现场一定没有保护好

使用特权

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

本版积分规则

31

主题

102

帖子

1

粉丝