打印
[STM8]

求助高手STM8S105 中断问题

[复制链接]
2769|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ajiantc|  楼主 | 2011-2-24 14:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用每转8个脉冲的码盘触发STM8的外部中断PD2,然后在中断程序中捕捉定时器的技术数值,并做一次减法计算,定时器溢出有一个累加值。但是结果是发现测出来的速度有抖动,进一步发现定时器溢出的累加值不对,要不多1,要不少1。怀疑是STM8S105单片机中断耗时的问题,但是按理来说CPU16M运行,中断程序中只执行捕捉,做差,标志位,应该很短时间,不同的中断影响很少才对。以前用Atmega8就没有这样的问题!求助高手。。。解释
沙发
32446975| | 2011-2-24 21:14 | 只看该作者
你试一下STM8的输入捕获模式。

使用特权

评论回复
板凳
ajiantc|  楼主 | 2011-2-25 09:09 | 只看该作者
2# 32446975
谢谢,我昨晚把中断程序中的库函数都去掉了,改成自己寄存器赋值,结果 居然好了,,,双路码盘正常!也不知道什么原因。

使用特权

评论回复
地板
香水城| | 2011-2-25 10:14 | 只看该作者
2# 32446975
谢谢,我昨晚把中断程序中的库函数都去掉了,改成自己寄存器赋值,结果 居然好了,,,双路码盘正常!也不知道什么原因。
ajiantc 发表于 2011-2-25 09:09


估计是中断中程序执行的时间太长了,影响了下一次中断的处理。

使用特权

评论回复
5
火箭球迷| | 2011-2-25 10:20 | 只看该作者
有可能

使用特权

评论回复
6
hzj8300| | 2011-2-27 21:57 | 只看该作者
用库函数所以执行的时间肯定是比直接操作寄存器要长,因为它的库里面穿插了后几层结构。况且在中断里面执行时间以最快为佳。没操作什么复杂的外设一般都不要用库函数

使用特权

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

本版积分规则

0

主题

6

帖子

1

粉丝