新手入门
- 积分
- 12
- 金钱
- 12
- 注册时间
- 2016-8-13
- 在线时间
- 0 小时
|
#if EN_USART1_RX //如果使能了接收
void USART1_IRQHandler(void) //串口1中断服务程序
{
u16 Res,t;
#ifdef OS_TICKS_PER_SEC //如果时钟节拍数定义了,说明要使用ucosII了.
OSIntEnter();
#endif
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断(接收到的数据必须是0x0d 0x0a结尾)
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
Res =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据
t= Res;
USART_SendData( USART1, Res) ;
if(t==1)
{
LED1=!LED1;
}
}
#ifdef OS_TICKS_PER_SEC //如果时钟节拍数定义了,说明要使用ucosII了.
OSIntExit();
#endif
}
#endif
电脑串口发送一个1过去,不能执行LED1翻转效果,这是为什么?去掉Res判断LED可以翻转。 我用串口接收打印到电脑上发送1也能接到1,调了很久了找不出来了,麻烦各位学长指教
|
|