输入捕获
本帖最后由 飞翼我的心 于 2016-12-21 10:25 编辑我现在tim1输出互补的pwm,要检测其上升沿,我用其CH2进行输入捕获(互补的pwm输出是CH1)结果示波器看见连输出的pwm都没了,附上代码:
void TIM1_Init(void)
{
TIM1_PSCRH=0X00;
TIM1_PSCRL=0X00;
TIM1_ARRH=0XFF;
TIM1_ARRL=0XFF;
TIM1_CNTRH=0X00;
TIM1_CNTRL=0X00;
TIM1_CCER1&=0XEE;
TIM1_CCMR2=0X02;
TIM1_CCER1=0X15;
//TIM1_SMCR|=0X54; //这个如果我单纯判断边沿极性还需要吗?
TIM1_IER=0X02;
TIM1_CR1=0X85;
}
#pragma vector=0x0E
__interrupt void TIM1_CAP_COM_IRQHandler(void)
{
if(TIM1_SR1&0X04)//代表上升沿到来?
{
TIM1_SR1=0X00;
}
有人帮忙看看嘛
谢谢分享 本帖最后由 wenyangzeng 于 2016-12-19 17:55 编辑
TIM1_CCMR1、TIM1_CCR1H、TIM1_L没有初始化,TIM1-CC1如何会有输出呢? 想问下,普通IO不能用作输入捕获? wenyangzeng 发表于 2016-12-19 17:53
TIM1_CCMR1、TIM1_CCR1H、TIM1_L没有初始化,TIM1-CC1如何会有输出呢?
有的,在另一个子程序里(输出pwm的),如果没有上面这个输入捕获的程序,互补pwm会从CH1正常输出,我觉得还是我这个输入捕获程序的原因。 suoma 发表于 2016-12-19 19:39
想问下,普通IO不能用作输入捕获?
应该可以吧,我是置为上拉输入 只有带定时器输出的IO才有捕获功能。。。。。。。 ts2000 发表于 2016-12-20 08:26
只有带定时器输出的IO才有捕获功能。。。。。。。
嗯,也就是定时器通道所对应的io,我的输入捕获为什么连开始的输出都没了,代码对吗。。。
页:
[1]