|
这是别人在中断中写的程序,用的是TIM通用定时器输出比较触发模式
void TIM2_IRQHandler(void)
{
vu16 capture=0;
if(TIM_GetITStatus(TIM2,TIM_IT_CC1) != RESET)
{
//GPIO_WriteBit(GPIOA , GPIO_Pin_4,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_4)));
capture = TIM_GetCapture1(TIM2);
TIM_SetCompare1(TIM2,capture + CCR1_Val);
TIM_ClearITPendingBit(TIM2,TIM_IT_CC1);
}
else if(TIM_GetITStatus(TIM2,TIM_IT_CC2) != RESET)
{
//GPIO_WriteBit(GPIOA , GPIO_Pin_5,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_5)));
capture = TIM_GetCapture2(TIM2);
TIM_SetCompare2(TIM2,capture + CCR2_Val);
TIM_ClearITPendingBit(TIM2,TIM_IT_CC2);
}
capture = TIM_GetCapture1(TIM2);
TIM_SetCompare1(TIM2,capture + CCR1_Val);
的作用是什么,是确定他的频率吗
在tim的配置时,为什么period是65535啊
TIM_TimeBaseStructure.TIM_Period = 65535;
TIM_TimeBaseStructure.TIM_Prescaler = 7199; |
|