某宝购买了一块锁控板,使用usb转接口接rs232转rs485接板子,在win下使用串口通讯工具发送16进制的指令, 可以开锁。
换成linux系统,就不工作了,linux下使用python pyserial进行串口通讯。(win下使用pyserial也可以开锁)
linux下可以查找到设备。/dev/ttyUSB0
打开串口显示open
发送指令后,板子没反应。
我要怎么判断是否发送出去了消息,或板子接到消息没有?或者板子是不是有不支持linux的说法?
我是外行,我折腾了1天,也没折腾出个所以然,有点不知所措的感觉,求各路大神指点迷津。
本帖最后由 pii 于 2017-3-10 14:36 编辑
写两个C文件就是创两个进程。 一个传参数进去,这个参数就是要发送的东西,串口发送完进程结束。另一个处理串口接收,打印到终端上来,这个进程无限循环,除非终端结束这个进程。
不想用终端的方式,上网下载一个linux下的串口调试助手,或者自己写一个调试助手,对于硬件上的操作,GUI是没有权限打开了,用sudo吧,win下能做的,Linux也能做,无非就是数据对不对了
天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友
用ioctl设置串口波特率和串口参数 本帖最后由 汤权 于 2017-3-10 17:19 编辑
用minicom试试呢?感觉应该是权限的问题吧。我们用的时候都是sudo用的
感谢大家,我用的是 Raspbian 树莓派,这个有关系么?
我是用的sudo执行的python脚本。
能将232的Tx,Rx短接下吗,看看能回显指令不,这样就知道有没有指令发出了。
使用树莓派一定是可以行得通的!
把串口的RX和TX短接,回环测试,看发出去的数据自已能不能收到
明白,短接后
发送1 显示 \0x11
发送a 显示 \0x01
我发送出去的16进制数据,和收到的16进制数据,不一样呢?这个可能是原因吧
发出去AA 收到了 0a
发出去55 收到了 15
问题解决了,感谢大家帮助我这个小白。
原因是usb串口线问题,换了一根就好了。