当前位置: 技术问答>linux和unix
关于Linux串口的问题,高分求助,急!急!急!
来源: 互联网 发布时间:2015-11-25
本文导语: 对于Linux我是菜鸟一个,最近由于工作需要开始接触Linux,要求在Linux下实现串口通讯,经过一段时间的摸索终于生成了我的第一个Linux执行程序,但在测试的时候问题就出来了,我是这样测试的,我用两台机器,一台...
对于Linux我是菜鸟一个,最近由于工作需要开始接触Linux,要求在Linux下实现串口通讯,经过一段时间的摸索终于生成了我的第一个Linux执行程序,但在测试的时候问题就出来了,我是这样测试的,我用两台机器,一台笔记本和一台台式机,笔记本上装的是Red Hart 9台式机上是Windows XP, 我在台式机上运行串口调试助手,在笔记本上运行我的程序(用直连线把两台机器的串口连接起来),当我用我的成序打开串口接收调试助手发过来的数据时一切正常,但是当我的程序向调试助手发数据却怎么也发不过去,我开始还以为是我程序有问题但找了n久也没发现什么不对,于是在网上又找来了SCT(1.08版),gserial还试了minicom等(还有几个记不住名字了)结果都一样只能接收数据不能发送数据,我确定线路和串口设置绝对没问题,这样搞我就郁闷了,本来以为串口应该是比较简单的,那晓得Linux怎么会犯这毛病了,向达人求教这个问题的解决办法,喔,还有由于我的笔记本没有串口所以我是用的USB虚拟串口线连接的,在Linux下装了驱动,这个因该没问题吧,在Windows下用的上好的,而且在Linux下接收也是正常的就是不能发送,那位大哥指点小弟下吧,谢谢了!!!
|
再检查一下硬件连接,当连接不正确的时候也可能是不能双向收发数据的
看看对串口有没有写的权限,相应/dev/tty的文件你要有写的权限
看看该串口的通讯模式是否正确,参看ioctl()或stty等命令
看看现有的终端软件是否可以正常使用,在Windows下启动超级终端,在linux的inittab文件里激活该串口,如果超级终端里面可以正常login,则软硬件都没问题。
看看对串口有没有写的权限,相应/dev/tty的文件你要有写的权限
看看该串口的通讯模式是否正确,参看ioctl()或stty等命令
看看现有的终端软件是否可以正常使用,在Windows下启动超级终端,在linux的inittab文件里激活该串口,如果超级终端里面可以正常login,则软硬件都没问题。
|
硬件流控