我是靠谱客的博主 暴躁自行车,最近开发中收集的这篇文章主要介绍linux 虚拟机串口通信,请问虚拟机vmware下串口通信的有关问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

当前位置:我的异常网» Linux/Unix » 请问虚拟机vmware下串口通信的有关问题

请问虚拟机vmware下串口通信的有关问题

www.myexceptions.net  网友分享于:2013-02-24  浏览:47次

请教虚拟机vmware下串口通信的问题

请教虚拟机vmware下串口通信的问题

我在虚拟机vmware下安了linux,用了串口,

arm写了一个写串口程序,linux下写了一个读串口程序,能成功的运行;

但在linux下写一个写串口程序,arm下写了一个读串口程序,就读不出数据来,怎么回事,是虚拟机有问题吗,只能写不能读?

程序:

//writetest.c

#include  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

int   spfd;

int   main()

{

char   fname[16],*sbuf;

int   retv,i,ncount=0;

struct   termios   oldtio;

int   realdata=0;

spfd=open( "/dev/ttyS0 ",O_RDWR|O_NOCTTY|O_NONBLOCK);

//spfd=open( "/dev/ttyS0 ",O_RDWR|O_NOCTTY);

if(spfd <0)

{

perror( "open/dev/ttyS0 ");

return   -1;

}

tcgetattr(spfd,&oldtio);

cfmakeraw(&oldtio);

cfsetispeed(&oldtio,B57600);

cfsetospeed(&oldtio,B57600);

tcsetattr(spfd,TCSANOW,&oldtio);

printf( "ready   for   sending   data...n ");

fname[0]= '1 ';

fname[1]= '2 ';

fname[2]= '3 ';

fname[3]= ' ';

retv=write(spfd,fname,4);

if(retv==-1)

perror( "write ");

printf( "the   number   sent   is   %dn ",retv);

close(spfd);

return   0;

}

//readtest.c

#include  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

int   spfd;

int   main()

{

char   hd[4];

int   retv,i,ncount=0;

struct   termios   oldtio;

int   realdata=0;

spfd=open( "/dev/ttyS0 ",O_RDWR|O_NOCTTY|O_NONBLOCK);

//spfd=open( "/dev/ttyS0 ",O_RDWR|O_NOCTTY);

if(spfd <0)

{

perror( "open/dev/ttyS0 ");

return   -1;

}

printf( "spfd%dn ",spfd);

tcgetattr(spfd,&oldtio);

cfmakeraw(&oldtio);

cfsetispeed(&oldtio,B57600);

cfsetospeed(&oldtio,B57600);

tcsetattr(spfd,TCSANOW,&oldtio);

printf( "ready   for   receiving   data...n ");

retv=read(spfd,hd,4);

/*

if(retv==-1)

{

perror( "read ");

return   -1;

}

*/

printf( "%dn ",retv);

printf( "%sn ",hd);

close(spfd);

return   0;

}

arm开发板和主机是通过串口通信,arm发出的数据,主机能读,主机发出的数据,arm就不能读,郁闷!

哪位高手指点指点我,不胜感谢

------解决方案--------------------

我老用vmware串口,没问题啊

你用minicom测试一下吧,看你的程序有没问题。

vmware添加串口的时候,也没啥特别要注意的,在菜单里指定物理串口就可以了

文章评论

最后

以上就是暴躁自行车为你收集整理的linux 虚拟机串口通信,请问虚拟机vmware下串口通信的有关问题的全部内容,希望文章能够帮你解决linux 虚拟机串口通信,请问虚拟机vmware下串口通信的有关问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部