串口程序如果不以0x0d 0x0a结尾,如何改,请各位大神 不吝赐教,谢谢

2019-10-15 00:59发布

if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //接收中断(接收到的数据必须是0x0d 0x0a结尾)
{
Res =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据

if((USART_RX_STA&0x8000)==0)//接收未完成
{
if(USART_RX_STA&0x4000)//接收到了0x0d
{
if(Res!=0x0a)USART_RX_STA=0;//接收错误,重新开始
else USART_RX_STA|=0x8000; //接收完成了 
}
else //还没收到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;//接收数据错误,重新开始接收  
}  
}
}    
这段基本看懂了,但是我想如果不以0x0d 0x0a结尾,如何改,在哪修改程序啊

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
lieren007
1楼-- · 2019-10-15 01:50
谢谢了,懂了,if(Res!=0x0a)  if(Res==0x0d)一改就行了,谢谢啊
聚东风
2楼-- · 2019-10-15 02:55
0x0d,0x0a只是一个换行,一个回车符号而已,你自己想换啥就换啥啊,比如你可以以“。”作为句子结束标志,看你自己喜欢啊,当然你得先找到"。"的代码是啥
西门吹雪
3楼-- · 2019-10-15 07:14
 精彩回答 2  元偷偷看……
hewulong
4楼-- · 2019-10-15 10:00
如果我要取消掉  0d 0a 呢,如何改
爱奔跑的IT
5楼-- · 2019-10-15 10:01
我想问我把0x0d 和0x0a该为0x4f和0x4f,但是串口测试该发送以什么结尾呢

一周热门 更多>