当前位置: 技术问答>linux和unix
请教高手LINUX下读串口数据的问题!!
来源: 互联网 发布时间:2016-03-08
本文导语: 我在LINUX下读串口数据,代码如下 fd = open(COMPORT, O_RDWR|O_NOCTTY); while((nread = read(fd,buff,1024))>0) { if( (buff[0]=='@') && (buff[nread-1]=='$' || buff[nread]=='$') ) //在这里进行处理 } 遇到的问题:不能把对方一次发...
我在LINUX下读串口数据,代码如下
遇到的问题:不能把对方一次发来的十多个字节的命令包数据读出来,一个命令包被分成两次接收了。。。--请教如何使程序一次接收完一个数据包?
fd = open(COMPORT, O_RDWR|O_NOCTTY);
while((nread = read(fd,buff,1024))>0)
{
if( (buff[0]=='@') && (buff[nread-1]=='$' || buff[nread]=='$') )
//在这里进行处理
}
遇到的问题:不能把对方一次发来的十多个字节的命令包数据读出来,一个命令包被分成两次接收了。。。--请教如何使程序一次接收完一个数据包?
|
可以定义成宏的形势,在while里面循环,如果读到结束就退出。
|
不太清楚,但你可以用一个while读完整个数据包,然后再处理。
|
ding
ding
ding