|
利用TIM2 CC2 通道捕获信号的下降沿.... 在手动清零计数器的时候出现问题... TIM2 在计数打开的情况下,TIM2->CNT = 0;执行后无法清零。。 关闭计数器后在清零后可使清零,但是在打开计数器的瞬间计数就要飞..... 但是TIM8就在开启计数的情况下,成功清零。。。。
void Send_Sound(void)
{
TIM2->CR1 &= ~(0X01);
TIM2->CNT = 0;
NVIC_Configuration_Catch_Enable();
TIM2->CR1 |= 0X01;
TIM8->CNT = 0;
TIM_Cmd(TIM8, ENABLE);
delay_ms(50);
TIM_Cmd(TIM8, DISABLE);
delay_ms(100);
}
求大神指点呀!!! 纠结好久了.. 上一次遇到这个问题,搞了好久之后没结果.. 通过其他办法避过了.. 这次又遇到... 求解决
捕获配置如下:
void Catch_Configuration(void)
{
//========================================================================================================//
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;//¶¨ÒåTIM½á¹¹Ìå±äÁ¿
TIM_ICInitTypeDef TIM_ICInitStructure; //¶¨ÒåTIM_ICInit½á¹¹Ìå±äÁ¿
//========================================================================================================//
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
//========================================================================================================//
TIM_TimeBaseStructure.TIM_Period=0XFFFF; //¼ÆÊýÖµ Arr
TIM_TimeBaseStructure.TIM_Prescaler=72; //TIM2ʱÖÓÔ¤·ÖƵ 1/9 ²¶»ñ¼ÆÊýÆ÷£¬8MHz..
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //0 //ʱ¼ä·Ö¸îÖµ
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //¼ÆÊý·½Ê½ ÏòÉϼÆÊý
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //³õʼ»¯
//========================================================================================================//
TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; //ͨµÀ3 ϽµÑز¶»ñ
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling;//TIM_ICPolarity_Rising;//
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //¹Ü½ÅÓë¼Ä´æÆ÷¶ÔÓ¦¹Øϵ
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
TIM_ICInitStructure.TIM_ICFilter = 0x00; //Â˲¨ÉèÖ㬾Àú¼¸¸öÖÜÆÚÌø±äÈ϶¨²¨ÐÎÎȶ¨0x0¡«0xF
TIM_ICInit(TIM2, &TIM_ICInitStructure);
/*========================================================================================================*/
TIM_SelectInputTrigger(TIM2, TIM_TS_TI2FP2);
//TIM_TS_ETRF////Ñ¡Ôñtim2ÊäÈë´¥·¢Ô´£ºtim¾Â˲¨¶¨Ê±Æ÷ÊäÈë2
/*========================================================================================================*/
TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Reset); ////////Ñ¡Ôñ´Ó»úģʽ£¬ÉÏÉýÑظ´Î»¼ÆÊýÆ÷
TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable); //ʹÄÜ
/*========================================================================================================*/
TIM_SetCompare2(TIM2, 0); //ÉèÖò¶»ñÆ÷¼ÆÊý³õÖµ
/*========================================================================================================*/
TIM_ITConfig(TIM2, TIM_IT_CC2, ENABLE);
//================================================================================================//
TIM_Cmd(TIM2,ENABLE);
} |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|