初级会员

- 积分
- 190
- 金钱
- 190
- 注册时间
- 2014-4-24
- 在线时间
- 0 小时
|
定时器配置void TIM2_Configuration(void)
{
TIM_DeInit(TIM2);
TIM_TimeBaseStructure.TIM_Period = 1500; //自动重装载寄存器的值 1.5ms的时间
TIM_TimeBaseStructure.TIM_Prescaler=(72);
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);
TIM_ClearFlag(TIM2,TIM_FLAG_Update);
}
void USART1_IRQHandler(void)
{
................................
TIM2_Configuration(); //则开启TIM2定时器,用来判断指令超时
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
TIM2->CNT = 0x00;
TIM_Cmd(TIM2,ENABLE);
..............................
}
void TIM2_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)
{
TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
USART1Write(Frame_Over_Time);//报警
}
(1)是否要在void TIM2_Configuration(void)函数中加入TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);TIM_Cmd(TIM2,ENABLE); 这两个语句?
(2)是否要在void TIM2_IRQHandler(void)中加TIM_ITConfig(TIM2,TIM_IT_Update,DISABLE);TIM_Cmd(TIM2,ENABLE); //关闭时钟?或者这两个语句的disable写反了
(3)是否什么都不要改了,上面的语句已经可以了?
|
|