串口2发送完数据后,怎么实现每发完一次数据都在后面加一个回车?

2019-08-17 03:04发布

我是用串口1发数据到串口2,然后由串口2将数据发送出去,但串口2发完数据后要怎么加一个回车啊?串口1发的数据是有换行,但串口2发出去的并没有换行,所有数据都是连在一起.结果如下,回车符应该是0x0D,0x0A呀,但我试了不行,不知道应该怎么加的,求助。我想要串口2每发完一次都换一行,应该怎么做........
串口1:
0123456789
0123456789
0123456789
0123456789
0123456789

串口2:
0123456789012345678901234567890123456789012345678901234567890123456789

这个问题要怎么解的?求指点,请求原子哥及各位大神帮助啊,感谢!!!

代码

while(1) 
{  
     delay_ms(1);
        
       if(USART_RX_STA&0x8000)     //接收到一次数据了
{   
rxlen=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
          
for(i=0;i<rxlen;i++)
{
               
USART_SendData(USART2 , USART_RX_BUF);//向串口2发送数据
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待发送结束
                                 
}
           
            printf("%s ",USART_RX_BUF);
         
            USART_RX_STA=0;
           
            
}else
{
times++;
if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);   

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
正点原子
1楼-- · 2019-08-17 08:42

for(i=0;i<rxlen;i++)
循环发送的最后,加多2个字节的发送:
多发送0X0D,0X0A,就可以了.>
原味土豆泥
2楼-- · 2019-08-17 13:07
 精彩回答 2  元偷偷看……
冰冷de名人
3楼-- · 2019-08-17 14:42
回复【2楼】原味土豆泥:
---------------------------------
可以给个例子吗?谢谢!
huanying
4楼-- · 2019-08-17 14:43
回复【4楼】正点原子:
---------------------------------
后面加入为0x0D,0X0A后 前面会丢失字符 是什么原因?
huanying
5楼-- · 2019-08-17 14:54
回复【3楼】冰冷de名人:
---------------------------------
你好 你的问题解决了吗 第一个字符丢失 你有这样的问题吗 怎么解决的 把代码附上 让我参考一下
冰冷de名人
6楼-- · 2019-08-17 19:59
回复【6楼】huanying:
---------------------------------
对于丢数据的问题,百度上有详细的解说呢,进下面的网址看看哈
http://wenku.baidu.com/link?url=JzdeL2s-e_YORm1DIqOHH-APkvk6jVB8dtbjnKV2vIdmOYKtuFQqH5v3MdkIc3NU9eKSQYyu1N4K6ba5Yaf6NHUX4Y42yXeByHG1uA5LwJ_

一周热门 更多>