野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13782|回复: 4

定时TIM2的计数问题

[复制链接]
发表于 2016-3-14 16:40:11 | 显示全部楼层 |阅读模式
开了一个定时器,当做计数器用。用了cnt=TIM2->CNT;这个函数来获取cnt里面的值。
  1.   TIM2_InitConfig.TIM_ClockDivision = TIM_CKD_DIV1;
  2.   TIM2_InitConfig.TIM_CounterMode   = TIM_CounterMode_Down;
  3.   TIM2_InitConfig.TIM_Period        = 20000;//CNT¼Æêy6000′Îoóòç3ö
  4.   TIM2_InitConfig.TIM_Prescaler     = 719;//72M·ÖÆμ    72m/720=100k/s
  5.   TIM_TimeBaseInit(TIM2, &TIM2_InitConfig);
复制代码
大概10ms会读取一次,用了之后TIM2->CNT=0;
我只是想要精确的时间,所以用个这样一个定时器,估算每次取值应该都是1000左右,72m/720=100k,一秒钟100k次嘛。
但是程序一直有问题,用了串口输出函数输出每次采集到的CNT值,发现在19086左右浮动。差太多了
这是怎么回事
回复

使用道具 举报

发表于 2016-3-14 18:58:27 | 显示全部楼层
定时时间到的时候,你在中断中使用一个变量把该值保存下来,退出了中断再打印这个变量看看

估计是因为你的定时器一直在运行,而串口执行时间影响了
回复 支持 反对

使用道具 举报

发表于 2016-3-15 09:15:40 | 显示全部楼层
现在解决啦?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-15 11:06:59 | 显示全部楼层

刚到实验室,下午上了课再来验证
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-15 16:49:53 | 显示全部楼层

解决了,前面时钟模式设置的向下计数。。。设置成向上就行了
fly哥那个应该是一个细节上的提升
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-11 17:59 , Processed in 0.026850 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表