[STM8] stm8 输入捕获功能问题

[复制链接]
7405|5
 楼主| shoecat 发表于 2011-6-27 21:38 | 显示全部楼层 |阅读模式
我用stm8s105C6T6芯片,用到TIM1_CH1的输入捕获功能,初始化如下:
TIM1_DeInit();
TIM1_TimeBaseInit(49, TIM1_COUNTERMODE_DOWN, 65535,0);
   TIM1_ICInit( TIM1_CHANNEL_1, TIM1_ICPOLARITY_FALLING, TIM1_ICSELECTION_DIRECTTI , TIM1_ICPSC_DIV8, 0x0);
   TIM1_ITConfig( TIM1_IT_CC1, ENABLE);
   TIM1_ClearFlag(TIM1_FLAG_CC1);
   TIM1_Cmd(ENABLE);

想在中断中改变为上升沿捕获,代码如下,测试发现和没有在中断中改变是一样的。好像在中断中改变输入捕获极性没起作用。不知道是什么原因?
    TIM1_ClearITPendingBit(TIM1_IT_CC1);
    ICValue1 = TIM1_GetCapture1();
    if(ICValue1 > ICValue2)
        period = ICValue1 - ICValue2;
    else
        period = 0xffff - ICValue2 + ICValue1;

   
   
    if(enter_time == 0){
            TIM1->CCER1 &= (u8)(~TIM1_CCER1_CC1P);//改为上升沿
            enter_time = 1;
       }
    else{
        TIM1->CCER1 |= TIM1_CCER1_CC1P;//改为下降沿
         enter_time = 0;
        }
    ICValue2 = ICValue1;
 楼主| shoecat 发表于 2011-7-8 10:43 | 显示全部楼层
版主能帮忙看看吗?哪位能帮忙看看啊!
 楼主| shoecat 发表于 2011-7-8 10:44 | 显示全部楼层
同样的代码,207系列芯片能正常进入中断,不知道105和207在这块有什么区别呢?
lmcici1314 发表于 2011-8-3 15:58 | 显示全部楼层
:sleepy:
wangjckj 发表于 2011-8-11 11:09 | 显示全部楼层
解决了吗?
yangganglone 发表于 2014-1-23 10:05 | 显示全部楼层
我现在也做捕获,不知道你解决了没有。给我一点意见吧,我现在也是不行!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

54

帖子

1

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