嵌入式和主机串口通信,嵌入式linux无法 read 数据
intmain(){charbuf[10];intData[4];intres=0;char*dev="/dev/ttyS1";intfd=OpenDev(dev);if...
int main()
{
char buf[10];
int Data[4];
int res=0;
char * dev="/dev/ttyS1";
int fd=OpenDev(dev);
if(fd==-1)
{
printf("fd 错误\n");
}
else
{
printf("fd success\n");
}
SetSpeed(fd,115200);//设置传输速率
res=SetParity(fd);//设置传输模式
if(res==0)
{
printf("setparity error\n");
}
else
{
printf("set success\n");
}
memset(buf,0,sizeof(buf));
res=read(fd,buf,9);//到这里停止....不知道为什么,求高手解答
printf("%d\n",res);
printf("%s\n",buf);
if(CloseDev(fd)==0)
printf("关闭失败\n");
else
printf("关闭成功");
return 0;
}
RS232 9线 我是用超级终端 读写数据的, 如果write ,则超级终端可以显示, 但是从超级终端读数据时, 无论怎么都不能读..... 展开
{
char buf[10];
int Data[4];
int res=0;
char * dev="/dev/ttyS1";
int fd=OpenDev(dev);
if(fd==-1)
{
printf("fd 错误\n");
}
else
{
printf("fd success\n");
}
SetSpeed(fd,115200);//设置传输速率
res=SetParity(fd);//设置传输模式
if(res==0)
{
printf("setparity error\n");
}
else
{
printf("set success\n");
}
memset(buf,0,sizeof(buf));
res=read(fd,buf,9);//到这里停止....不知道为什么,求高手解答
printf("%d\n",res);
printf("%s\n",buf);
if(CloseDev(fd)==0)
printf("关闭失败\n");
else
printf("关闭成功");
return 0;
}
RS232 9线 我是用超级终端 读写数据的, 如果write ,则超级终端可以显示, 但是从超级终端读数据时, 无论怎么都不能读..... 展开
3个回答
展开全部
我写了一个QT串口通信程序,收不到数据。 red hat9系统,QT3。代码如下:{ char buf[256]={0}; int a= myCom->readBlock(buf,256); QString ,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以循环读,读到数据放到buf,再回显出来。如果不能回显,或回显乱码,可能是你的超级终端设置的问题。。这类设备文件的操作,按照流程来,应该不会有问题的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询