[STM8] STM8S103F3 输入捕获TIMx_SMCR问题

[复制链接]
 楼主| hudiqi 发表于 2014-12-29 14:34 | 显示全部楼层 |阅读模式
本帖最后由 hudiqi 于 2014-12-29 14:35 编辑

我用STM8S103F3做双路输入捕获,TIM1配置好并可以正常工作,但配置TIM2的时候发现一个问题,TIM2没有TIM2_SMCR。于是问题就出现了,配了很久出处还是不正常,请问高手怎么配置TIM2?
TIM1的配置如下:
  CLK_PCKENR1 |= 0x80;  

  TIM1_PSCRH = 0;
  TIM1_PSCRL = TIM1_DIV;
  TIM1_CCMR1 |= 0x31;           //fSAMPLING=fMASTER, N = 8;
                                //No prescaler, capture is made each time an edge is detected on the capture input;
                                //CC1 channel is configured as input, IC1 is mapped on TI1FP1;
  TIM1_CCER1 &= ~0x02;          //上升沿触发
  TIM1_SMCR |= 0X54;            //TI1FP1触发;复位模式
  TIM1_CCER1 |= 0x01;           //使能输入捕获1
  TIM1_CR1 = 0x01;              //Enabled update request source;Counter enabled;


小浣熊 发表于 2014-12-29 17:34 | 显示全部楼层
呵呵,感觉没什么问题,不知道楼主的问题出在哪里了。。
白丁野老 发表于 2014-12-30 21:09 | 显示全部楼层
学习一下
 楼主| hudiqi 发表于 2014-12-31 13:01 | 显示全部楼层
小浣熊 发表于 2014-12-29 17:34
呵呵,感觉没什么问题,不知道楼主的问题出在哪里了。。

TIM1可以正常捕获,但TIM2捕获出来的值是乱的。怀疑是TIM2没有SMCR这个寄存器,或者是我配置有问题。请问有TIM2输入捕获的例程吗?
小浣熊 发表于 2014-12-31 14:59 | 显示全部楼层
hudiqi 发表于 2014-12-31 13:01
TIM1可以正常捕获,但TIM2捕获出来的值是乱的。怀疑是TIM2没有SMCR这个寄存器,或者是我配置有问题。请问 ...

这个不是很清楚地啊,帮你顶一个。希望你可以自己解决
zh113214 发表于 2014-12-31 15:31 | 显示全部楼层
TIM1_CCMR1 |= 0x31;  TIM1_CCER1 &= ~0x02; 这两行代码放一起不是很懂
 楼主| hudiqi 发表于 2015-1-8 13:27 | 显示全部楼层
搞定了,没有TIM2_SMCR,每次计数要把TIM2_CNTR清零。还有就是TIM2_PSCR和TIM1不一样,要改一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

18

帖子

1

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