精英版stm32f103 USB虚拟串口例程中,串口1 PA9,PA10,串口1中断函数究竟起何作用,因为我不需要向串口1打印提示信息,把串口1中断函数里面的内容注释掉,程序可以正常通过虚拟串口接收数据,注释代码如下:void USART1_IRQHandler(void) //′®¿ú1ÖD¶Ï·tÎñ3ìDò {
/*u8 Res;
#if SYSTEM_SUPPORT_OS //èç1ûSYSTEM_SUPPORT_OSÎaÕ棬ÔòDèòaÖ§3ÖOS.
OSIntEnter();
#endif
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //½óêÕÖD¶Ï(½óêÕμ½μÄêy¾Y±ØDëêÇ0x0d 0x0a½áÎ2)
{
Res =USART_ReceiveData(USART1); //¶á衽óêÕμ½μÄêy¾Y
if((USART_RX_STA&0x8000)==0)//½óêÕÎ′íê3é
{
if(USART_RX_STA&0x4000)//½óêÕμ½áË0x0d
{
if(Res!=0x0a)USART_RX_STA=0;//½óêÕ′íÎó,ÖØD¿aê¼
else USART_RX_STA|=0x8000; //½óêÕíê3éáË
}
else //»1ûêÕμ½0X0D
{
if(Res==0x0d)USART_RX_STA|=0x4000;
else
{
USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
USART_RX_STA++;
if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//½óêÕêy¾Y′íÎó,ÖØD¿aê¼½óêÕ
}
}
}
}
#if SYSTEM_SUPPORT_OS //èç1ûSYSTEM_SUPPORT_OSÎaÕ棬ÔòDèòaÖ§3ÖOS.
OSIntExit();
#endif*/
#endif
}
如果把串口1中断使能注释掉,也就是禁止串口1中断,则程序无法正常运行,找不到虚拟串口,无法通过虚拟串口收发数据,注释代码如下:
//USART_Cmd(USART1, ENABLE); 注释代码这行代码
请问串口1中断在USB虚拟串口中起的作用是什么????
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>