急!!linux下串口通讯编程,read()不能读数据的原因?
时间:2008-12-29
来源:互联网
!!本人菜鸟一个,刚编写了一段串口通讯程序,但是只能发送数据,不能接收数据,这是什么原因啊?请个位大侠不吝赐教,万分感谢!!
主函数代码如下:
volatile int STOP=FALSE;
int main(void)
{ int i;
int fd;
char send_buff[8]="OPEn";
int send_length;
int byteswrite;
char rcv_buff[8];
int rcv_length;
int bytesread;
char *dev = "/dev/ttyS1";
fd = OpenDev(dev); // fd= open("/dev/ttyS1",O_RDWR | O_NOCTTY);
set_speed(fd,2400); //波特率2400
if(set_Parity(fd,8,1,'N') == FALSE) //设置8,1,n
{
printf("Set Parity Error\n") ;
exit(0);
}
bzero(rcv_buff,sizeof(rcv_buff));
//发送数据,这里功能正常,能发送出数据“OPEn”
for(i=0;i<10;i++)
byteswrite=write(fd,send_buff,8 ) ; //成功返回写入数据的字节数,该值通常等于length,如果写入失败返回-1
if(byteswrite==-1)
{
printf("write device %s error\n",*dev);
}
//读取数据!!这里的功能不能实现!!
while (STOP==FALSE)
{
bytesread =read(fd,rcv_buff,8 ) ; //读操作成功读取返回读取的字节数,失败则返回-1
rcv_buff[bytesread+1]='\0'; /* 设定字串终止字元, 所以我们能用 printf */
printf(":%s:%d\n",rcv_buff, bytesread);
if (rcv_buff[0]=='z')
STOP=TRUE;
}
if(close(fd)!=0)
{
printf("close device %s error",*dev);
}
return;
}
主函数代码如下:
volatile int STOP=FALSE;
int main(void)
{ int i;
int fd;
char send_buff[8]="OPEn";
int send_length;
int byteswrite;
char rcv_buff[8];
int rcv_length;
int bytesread;
char *dev = "/dev/ttyS1";
fd = OpenDev(dev); // fd= open("/dev/ttyS1",O_RDWR | O_NOCTTY);
set_speed(fd,2400); //波特率2400
if(set_Parity(fd,8,1,'N') == FALSE) //设置8,1,n
{
printf("Set Parity Error\n") ;
exit(0);
}
bzero(rcv_buff,sizeof(rcv_buff));
//发送数据,这里功能正常,能发送出数据“OPEn”
for(i=0;i<10;i++)
byteswrite=write(fd,send_buff,8 ) ; //成功返回写入数据的字节数,该值通常等于length,如果写入失败返回-1
if(byteswrite==-1)
{
printf("write device %s error\n",*dev);
}
//读取数据!!这里的功能不能实现!!
while (STOP==FALSE)
{
bytesread =read(fd,rcv_buff,8 ) ; //读操作成功读取返回读取的字节数,失败则返回-1
rcv_buff[bytesread+1]='\0'; /* 设定字串终止字元, 所以我们能用 printf */
printf(":%s:%d\n",rcv_buff, bytesread);
if (rcv_buff[0]=='z')
STOP=TRUE;
}
if(close(fd)!=0)
{
printf("close device %s error",*dev);
}
return;
}
作者: happybgt 发布时间: 2008-12-29
如何知道您不能发送数据?
作者: 风雪狂客 发布时间: 2008-12-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28