嵌入式和主机串口通信,嵌入式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 ,则超级终端可以显示, 但是从超级终端读数据时, 无论怎么都不能读.....
展开
 我来答
MichaelYehBook
2012-04-01 · TA获得超过969个赞
知道小有建树答主
回答量:888
采纳率:66%
帮助的人:632万
展开全部
猜测这个是你的 tty setting 问题。由於 tty 是早期大型主机的终端机,所以,可能需要按 [Enter] 後才能读。
743377763
2012-04-01 · 超过10用户采纳过TA的回答
知道答主
回答量:160
采纳率:0%
帮助的人:59.7万
展开全部
我写了一个QT串口通信程序,收不到数据。 red hat9系统,QT3。代码如下:{ char buf[256]={0}; int a= myCom->readBlock(buf,256); QString ,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1007095711
2012-04-01
知道答主
回答量:10
采纳率:0%
帮助的人:4.3万
展开全部
你可以循环读,读到数据放到buf,再回显出来。如果不能回显,或回显乱码,可能是你的超级终端设置的问题。。这类设备文件的操作,按照流程来,应该不会有问题的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式