两个概念是哪个正确呢?

[复制链接]
2149|13
 楼主| huangfeng33 发表于 2013-3-4 22:08 | 显示全部楼层 |阅读模式
请问 TIM_TimeBaseStructure.TIM_Period  = 9999

这个记时是从这个9999 开始计时还是 每次计数到这个9999 产生中断呢?
 楼主| huangfeng33 发表于 2013-3-4 22:24 | 显示全部楼层
1.51的概念9999 是预装值,每次从这个9999开始向上计数到溢出。
2.每次从0开始向上计数到9999 溢出
logokfu 发表于 2013-3-4 22:35 | 显示全部楼层
呵呵,STM32的定时器和51的定时器的区别就在于这里了,呵呵。

这个得根据你是向上还是向下计数来说的了。

如果是向上的话,是从0开始计数到ARR值然后从新再从0开始的。
如果是向下的话,是从ARR开始向下计数到0然后从新从ARR开始向下计数的。
logokfu 发表于 2013-3-4 22:36 | 显示全部楼层
一句话总结就是,STM32的定时器是可以双向计数的,呵呵。
tianli1980 发表于 2013-3-4 22:37 | 显示全部楼层
应该是第二个对吧?根据你的计数来看
logokfu 发表于 2013-3-4 22:41 | 显示全部楼层
本帖最后由 **kfu 于 2013-3-4 22:43 编辑

  举个具体的例子,你看下。呵呵。


TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  TIM_TimeBaseStructure.TIM_Period = 9999;
如果按照这个配置的话,就是0到9999计数产生中断。


TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Down;
  TIM_TimeBaseStructure.TIM_Period = 9999
如果按照这个配置的话,就是9999到0计数产生中断。
拿起书本 发表于 2013-3-5 22:00 | 显示全部楼层
楼上的各位都是热心人啊,喜欢这种氛围,尤其是楼上的这位有理有据的,支持一下。
55854234 发表于 2013-3-6 11:14 | 显示全部楼层
不错 支持
jlass 发表于 2013-3-6 15:00 | 显示全部楼层
一般以减法居多,不过你的情况6楼已经解释了
cjhk 发表于 2013-3-6 20:39 | 显示全部楼层
这是ST芯片的功能    可以实现双向计数   呵呵   这个计数功能用好了   很不错哦   呵呵   顶一个
cjhk 发表于 2013-3-6 21:20 | 显示全部楼层
21IC的热心人还是很多的   呵呵     有问题多逛21IC   呵呵
 楼主| huangfeng33 发表于 2013-5-8 15:49 | 显示全部楼层
感谢楼上各位朋友的帮助,明白了,结贴,可是给扮太少了,不好意思了
hawksabre 发表于 2013-5-8 18:34 | 显示全部楼层
呵呵   没问题  问题解决了  就好  顶一个  
hawksabre 发表于 2013-5-8 18:34 | 显示全部楼层
多逛21ic  基本没有搞不定的问题  呵呵   顶一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部