当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux入门

读端口数据出现乱码问题!

读端口数据出现乱码问题!--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
以下为我的源程序,在系统调试时发现读出来的字符中前面部份是乱码,后面的是正确的,请高手赐教处理方法!

/*******************************************************************/
if((fd1 = open("/dev/ttyS02", O_RDWR | O_NOCTTY | O_NDELAY))<0) /*打开串口PortA*/
exit(0);
/*******************************************************************/

/*准备开始发送和接收数据*/

tcgetattr(fd1,&option);
cfmakeraw(&option);

/************************波特率设置**************************/
cfsetispeed(&option,B9600); /*Port波特率设置为9600bps*/
cfsetospeed(&option,B9600);

tcsetattr(fd1,TCSANOW,&option);

/*防止读串口堵塞*/
MaxFd = fd1 + 1;
tv.tv_sec = 0;
tv.tv_usec = 500000;

/*************************进入命令/响应循环****************************/
while(1>0)
{
/*************************从Port A接收数据*****************************/
/*与设备通信*/
usleep(2000000);
retv1=write(fd1,sbuf1,4);/*发送通讯请求*/

usleep(1000000);
FD_ZERO(&readset);
FD_SET(fd1,&readset);
select(MaxFd,&readset,0,0,&tv);

if(FD_ISSET(fd1,&readset))
retv2=read(fd1,rbuf1,23););/*接收设备应答数据23个char*/
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | 凯发国际娱乐 | 凯发国际娱乐下载 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有