想要通过串口输入数据控制LED灯,下面的中断处理函数可行吗,有哪个地方不对,实际执行是不行的。
//中断处理函数
void USART1_IRQHandler(void)
{
u8 res;
if(USART_GetITStatus(USART1,USART_IT_RXNE)){
res=USART_ReceiveData(USART1);
USART_SendData(USART1,++res);
switch(res)
{
case 1:
GPIO_ResetBits(GPIOF,GPIO_Pin_9);
case 2:
GPIO_ResetBits(GPIOF,GPIO_Pin_10);
default:
GPIO_SetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
++去掉了,加了break,执行还是不对。仍然控制不了LED灯,求解//中断处理函数
void USART1_IRQHandler(void)
{
u8 res;
if(USART_GetITStatus(USART1,USART_IT_RXNE)){
res=USART_ReceiveData(USART1);
USART_SendData(USART1,res);
switch(res)
{
case 1:
GPIO_ResetBits(GPIOF,GPIO_Pin_9);
break;
case 2:
GPIO_ResetBits(GPIOF,GPIO_Pin_10);
break;
default:
GPIO_SetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);
break;
}
}
一周热门 更多>