void TIM2_IRQHandler(void)
{
if (TIM_GetFlagStatus(TIM2, TIM_FLAG_CC3) != RESET)
{
TIM_ClearITPendingBit(TIM2, TIM_FLAG_CC3);
GPIO_SetBits(GPIOE, GPIO_Pin_0);
TIM_Cmd(TIM5,DISABLE);
}
}
void USART1_IRQHandler(void)
{
u16 RxData;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
RxData=USART_ReceiveData(USART1) ;
if(RxData==0x00) //逆时针
{
GPIO_SetBits(GPIOA, GPIO_Pin_1);
}
if(RxData==0x01) //顺时针
{
GPIO_ResetBits(GPIOA, GPIO_Pin_1);
}
if(RxData==0x03)
{
TIM_Cmd(TIM5,DISABLE);
}
if(RxData==0x04)
{
TIM_Cmd(TIM5,ENABLE);
}
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
}
if(USART_GetITStatus(USART1, USART_IT_TXE) == SET)
{
USART_ITConfig(USART1, USART_IT_TXE, DISABLE);
}
}
这是两个中断函数,当我向串口发送0x00时,就立马进入TIM2中断,晕死。
|