打印
[51单片机]

两个定时器的干扰问题

[复制链接]
2257|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
尚善励挚|  楼主 | 2014-11-24 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
wangch_sh| | 2014-11-24 11:46 | 只看该作者
定时器写的什么波形?旋转编码开关出现什么问题?波形周期怎么变化?

使用特权

评论回复
板凳
ningling_21| | 2014-11-24 11:59 | 只看该作者
编码开关和 按键 是什么关系?

是不是有延时消抖?

使用特权

评论回复
地板
airwill| | 2014-11-24 12:06 | 只看该作者
明显是用按键扫描方式扫描编码开关. 处理太废时间, 占据了发波形的中断.

按键扫描其实不是个时间关键任务, 中断设个标志, 交给主循环去处理就行了

使用特权

评论回复
5
Ketose| | 2014-11-24 12:08 | 只看该作者
定时器0的优先级设置的高点。

使用特权

评论回复
6
尚善励挚|  楼主 | 2014-11-24 12:24 | 只看该作者
wangch_sh 发表于 2014-11-24 11:46
定时器写的什么波形?旋转编码开关出现什么问题?波形周期怎么变化?

就是方波 脉宽1000ms ;旋转编码开关,在转动的时候,会卡在中间,导致检测电位的引脚,一直是地电位;波形周期变长了

使用特权

评论回复
7
尚善励挚|  楼主 | 2014-11-24 12:26 | 只看该作者
ningling_21 发表于 2014-11-24 11:59
编码开关和 按键 是什么关系?

是不是有延时消抖?

编码开关就是按键  延时消抖是有的 ,可以看下上一楼我给出的回复

使用特权

评论回复
8
尚善励挚|  楼主 | 2014-11-24 12:30 | 只看该作者
airwill 发表于 2014-11-24 12:06
明显是用按键扫描方式扫描编码开关. 处理太废时间, 占据了发波形的中断.

按键扫描其实不是个时间关键任务, ...

说的很对! 但是当我把扫描放入到<main.c>中 while(1)里面时,会响应不及时,现象就是:旋转编码器,转了好几圈,屏幕上才会跳到下一个界面。时快时慢的。客户体验感较差。

使用特权

评论回复
9
尚善励挚|  楼主 | 2014-11-24 12:32 | 只看该作者
Ketose 发表于 2014-11-24 12:08
定时器0的优先级设置的高点。

PT0=1;??是这样设置的吗? 我试过了

使用特权

评论回复
10
ningling_21| | 2014-11-24 12:40 | 只看该作者
尚善励挚 发表于 2014-11-24 12:30
说的很对! 但是当我把扫描放入到中 while(1)里面时,会响应不及时,现象就是:旋转编码器,转了好几圈, ...

在定时器中断中延时消抖,这是很影响系统实时性的,应该严格禁止

使用特权

评论回复
11
coody| | 2014-11-24 13:31 | 只看该作者
T0设置高优先级中断

使用特权

评论回复
12
尚善励挚|  楼主 | 2014-11-24 14:16 | 只看该作者
ningling_21 发表于 2014-11-24 12:40
在定时器中断中延时消抖,这是很影响系统实时性的,应该严格禁止

没有在中断里面做这些

使用特权

评论回复
13
尚善励挚|  楼主 | 2014-11-24 14:20 | 只看该作者
coody 发表于 2014-11-24 13:31
T0设置高优先级中断

设置了 无论,我把哪个定时器中断设置成优先级高的,另一个都会有问题。

使用特权

评论回复
14
ningling_21| | 2014-11-24 14:46 | 只看该作者
尚善励挚 发表于 2014-11-24 14:20
设置了 无论,我把哪个定时器中断设置成优先级高的,另一个都会有问题。 ...

还是程序的问题

使用特权

评论回复
15
coody| | 2014-11-24 16:19 | 只看该作者
中断里不要等待

使用特权

评论回复
16
tokuhou| | 2014-11-24 17:30 | 只看该作者
中断里的程序越少越好,最好用标志 位

使用特权

评论回复
17
dragonhux| | 2014-11-25 11:36 | 只看该作者
Timer1中的处理流程占用时间太长

使用特权

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

本版积分规则

23

主题

144

帖子

0

粉丝