void USB_To_USART_Send_Data(u8* data_buffer, u8 Nb_bytes)
{
u8 i;
u8 res;
for(i=0;i<Nb_bytes;i++)
{
res=data_buffer[i];
if((USB_USART_RX_STA&0x8000)==0) //½óêÕÎ′íê3é
{
if(USB_USART_RX_STA&0x4000) //½óêÕμ½áË0x0d
{
if(res!=0x0a)USB_USART_RX_STA=0;//½óêÕ′íÎó,ÖØD¿aê¼
else USB_USART_RX_STA|=0x8000; //½óêÕíê3éáË
}else //»1ûêÕμ½0X0D
{
if(res==0x0d)USB_USART_RX_STA|=0x4000;
else
{
USB_USART_RX_BUF[USB_USART_RX_STA&0X3FFF]=res;
USB_USART_RX_STA++;
if(USB_USART_RX_STA>(USB_USART_REC_LEN-1))USB_USART_RX_STA=0;//½óêÕêy¾Y′íÎó,ÖØD¿aê¼½óêÕ
}
}
}
}
}
看了原子哥的串口实验,现在改写他的USB虚拟串口实验,去掉0X0A 0X0D结尾的协议,就是收到一个数字01不打回车换行就能直接控制IO口输出高低电平。我串口的改成功了,可是USB的不知道怎么改。我把判断结尾是不是0X0A 0X0D if语句去掉!我打01 IO口都不听话了!求帮助啊,新手。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>