STM8S103的TIM1—CH1测量PWM输入信号
我完全按照官方参考手册RM0016的寄存器配置
TIM1->CCMR1 = 0x01; //置TIM1_CCMR1寄存器的CC1S=01(选中TI1)
TIM1->CCMR2 = 0x02; //置TIM1_CCMR2寄存器的CC2S=10(选中TI1FP2)
TIM1->SMCR = 0x54;
/*选择有效的触发输入信号:置TIM1_SMCR寄存器中的TS=101(选择TI1FP1)。配置触发模式控制器为复位触发模式:置TIM1_SMCR中的SMS=100。*/
TIM1->CCER1 = 0x31;//置CC1P=0(上升沿有效),置CC2P=1(下降沿有效),置TIM1_CCER1寄存器中CC1E=1,CC2E=1使能捕获
然后发现寄存器里计数器不跑于是加了几个配置:
TIM1->IER = 0x04; //允许捕获/比较2中断
TIM1->CR1 = 0x01;//CEN:允许计数器使能
TIM1->CR2 = 0x80;//CC1、CC2和CC3管脚经异或后连到TI1
TIM1->EGR = 0x04;//事件产生寄存器
计数器跑了,就是很奇怪复位启动 没有给PWM信号的情况下捕获寄存器动一下,中断进去一下,然后就不动了
去掉TIM1->EGR = 0x04就什么反应都没有
然后我用官方例程测试编译没问题,但是也不能捕获,例程是STM8S208的运行的不过那代码都是通用的啊 弄不明白
万事开头难,做过捕获的朋友麻烦回一下贴,有自己的实例更好,能在STM8S103上运行的,发到yujian5522@sina.com ,表示感谢感谢 |