QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1020|回复: 1

请教大家:read读串口得到数据不完整怎么办?

[复制链接]
发表于 2005-10-23 23:51:41 | 显示全部楼层 |阅读模式
我用以下代码通过串口与读卡器通讯,很奇怪,前两条命令的串口返回数据可以读到,为什么后面的串口返回数据就读不到了?缓冲区应该足够大的啊,请教各位了

char wbuff[2],rbuff[128+1];
//命令1
wbuff[0]=0x0;
write(fd,wbuff,1);
wbuff[0]=0x52;
write(fd,wbuff,1);
...

//命令n
wbuff[0]=0x2;
write(fd,wbuff,1);
...

//最后,读取串口数据
sleep(0.4);
while ((nread=read(fd,rbuff,12)!=0)
{
printf("read [%d]: ",nread);
for (i=0;i<nread;i++)
printf("%2x ", rbuff);
printf("\n");
}

运行显示:
read[2]: 10 10
read[7]: 2 8 ...

以下是我的串口配置:
options.c_cflag &= ~CSIZE;
options.c_cflag |= CS8;
options.c_cflag &= ~CSTOPB;
options.c_cflag &= ~PARENB;
波特率:115200bps
发表于 2005-10-24 10:29:06 | 显示全部楼层
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=134158&highlight=raw
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 02:11 , Processed in 0.043662 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表