|
本帖最后由 Smartfatlv 于 2014-5-15 16:40 编辑
实验过程:
(1)UART0做控制台接pc1的串口,扩展板扩展出的UART1接pc2串口
(2)pc1,pc2分别运行串口调试助手,使用pc1控制台运行serial_test程序,pc2上的串口调试助手收到“hello,TQ2440”测试信息。
(3)利用pc2上的串口调试助手给UART1发送一组ASSII码(0x01~0x0f),这组assii码写在一个文件里,pc1上的串口收到如下信息
recv:8
0x01,0x0
recv:56
2,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d
recv:12
,0x0e,0x0f
问题:为什么这组数据会断开显示,数据缓冲区buf不是定义的512吗,为什么不一次性read出来?或者怎样让它一次性read出来!!谢谢指教。
主要代码如下:
if((nread = read(serial_fd,buff,512))>0)
{
buff[nread] = '\0';
printf("\nrecv:%d\n",nread);
printf("%s",buff);
printf("\n");
}
} |
|