初级会员

- 积分
- 115
- 金钱
- 115
- 注册时间
- 2013-5-4
- 在线时间
- 3 小时
|
5金钱
我是用串口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\r\n",USART_RX_BUF);
USART_RX_STA=0;
}else
{
times++;
if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);
}
|
最佳答案
查看完整内容[请看2#楼]
在
for(i=0;i<rxlen;i++)
循环发送的最后,加多2个字节的发送:
多发送0X0D,0X0A,就可以了.>
|