打印
[51单片机]

C8051F020串口1中断读取定时器4中断的变量T值来计算事件的时

[复制链接]
2271|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
瓶瓶罐罐|  楼主 | 2014-8-29 19:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 瓶瓶罐罐 于 2014-8-30 18:43 编辑

单片机设置:晶振是22.11814MHZ,串口1波特率是9600,定时器4是每隔2ms中断一次,每到100ms的时候,定时器中的变量T++;16位自动重装模式,串口1的中断优先级标志位置1。
  如题,在串口中断里面当检测到传来了指令A后,就将此时刻的变量T的值记录下来,收到指令B后将此时刻的变量T的值记录下来(A指令只来一次,B指令有多次)。在主函数里面处理串口收到的数据的时候再计算两个记录值的差,得到AB间的时间。在1分钟左右的时候,误差在0.3秒左右,但到了2分钟的时候误差就到了0.6秒左右,3分钟误差是0.9秒左右,4分钟误差在1秒左右了。不知道这是为什么,按照我想的,当进入串口有数据的时候,会马上进入中断,并读取变量值,因此误差不应该这么大呀。
  按照我的分析,既然误差逐渐偏大, 且时间差都是以以A指令记录的变量值为基准,那么造成误差逐渐偏大的原因就是进入串口中断的时间在逐渐变长或者是定时器的误差在逐渐的变大,但我用手机秒表跟定时器计时1分钟进行比对,定时器1分钟还是挺准的。也试过在中断函数中利用using关键字,但没什么效果。
  试着改变两个中断的优先级,误差依然有,不知道该怎么办了,求助!

我试过用定时器0,16位定时,也是同样的采用读取100ms变量值的方式,但发现同样情况下,误差更大。怀疑是不是定时器的问题,换了块板子,也是一样的情况。

相关帖子

沙发
若是射手| | 2014-8-29 23:10 | 只看该作者
沙发学习。。。

使用特权

评论回复
板凳
ayb_ice| | 2014-8-30 06:06 | 只看该作者
定时中断是否有及时响应呢

使用特权

评论回复
地板
ayb_ice| | 2014-8-30 06:10 | 只看该作者
也可能是发送时间不准吧

使用特权

评论回复
5
ningling_21| | 2014-8-30 09:08 | 只看该作者
A到B之间的时间是不是本来就不固定呢

使用特权

评论回复
6
瓶瓶罐罐|  楼主 | 2014-8-30 18:30 | 只看该作者
ningling_21 发表于 2014-8-30 09:08
A到B之间的时间是不是本来就不固定呢

B的到来是不固定的,但均已A到来时的变量值为基准

使用特权

评论回复
7
瓶瓶罐罐|  楼主 | 2014-8-30 18:33 | 只看该作者
ayb_ice 发表于 2014-8-30 06:06
定时中断是否有及时响应呢

如果定时中断没有及时响应的话,那测出来的时间应该偏小啊,现在是偏大,因此定时中断是能及时响应的。就怕它会不会是有别的事件触发了定时器的中断,导致定时器的变量值偏大。

使用特权

评论回复
8
瓶瓶罐罐|  楼主 | 2014-8-30 18:36 | 只看该作者
ayb_ice 发表于 2014-8-30 06:10
也可能是发送时间不准吧

应该不是,现在做的是监听一个跑步测量仪的串口数据,分控制台和前端,有跑道跑完指定的圈数后,前端就传送圈数跑完指令到控制台,控制台也是根据这个指令来进行计时的截止的。因此发送时间不能说不准

使用特权

评论回复
9
ayb_ice| | 2014-8-31 06:50 | 只看该作者
这不是,那也不是,你有证据吗

用仪器看一下就知道了

使用特权

评论回复
10
cdf1214| | 2015-3-28 16:47 | 只看该作者
                 北京长实拓展电子有限公司
本公司主营TI. NXP. IR. ON. SiLicon                                                                                                       等著名世界品牌产品。
MSP430F一系列TI储存芯片 微控处理器
MSP430F149IPMR MSP430F5438AIPZR MSP430F5438IPZR等。
C8051F 一系列SILICON 单片机 微控处理器
C8051F020 C8051F120 C8051F340 C8051F040等
LPC一系列NXP单片机  
LPC2132FBD64 LPC2134FBD64 LPC2214FBD144  
LPC2378FBD144 LPC2292FBD144等一系列供应
专营:低压差 基准源 三 五 七端稳压 二三极管 场效应 快恢复 肖特基二极管 可控硅 达林顿 整流桥 TVS管 光藕 MAX AD 集成电路 
                   北京长实拓展电子销售:陈冬锋
                                     QQ:2850327057
                      电话:15711002528,13641144498

使用特权

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

本版积分规则

4

主题

25

帖子

0

粉丝