本文共 1137 字,大约阅读时间需要 3 分钟。
转自:
一、串口通讯
我用串口调试助手(windows下)向linux下的串口1 发送数据(串口线我跟其他机器互测过,没问题),在linux 下 cat /dev/ttyS0 接收.但奇怪的是 cat /dev/ttyS0没有显示受到认识数据,反而是我的串口调试助手收到了返回!!linux端不用 cat /dev/ttyS0读的时候没有返回!原因:1.windows要发送可显示字符,cat才能显示出来。2.串口调试助手设置了回显功能。3.windows的串口调试软件发送时多发一个回车键就行了,而且之前发过去没显示的都会显示出来。这跟linux下printf不加"\n"就没显示是一个道理的。二、环境串口无权限:lenky@lenky-VirtualBox:~/桌面$ echo a > /dev/ttyS0bash: /dev/ttyS0: 权限不够
解决方案:
1,查看串口对应的属性:lenky@lenky-VirtualBox:~/桌面$ ls /dev/ttyS0 -lcrw-rw—- 1 root dialout 4, 64 9月 24 14:48 /dev/ttyS02,把当前帐号加入到串口所属组:
lenky@lenky-VirtualBox:~/桌面$ groups lenkylenky : lenky adm cdrom sudo dip plugdev lpadmin sambasharelenky@lenky-VirtualBox:~/桌面$ sudo gpasswd –add lenky dialout[sudo] password for lenky:正在将用户“lenky”加入到“dialout”组中lenky@lenky-VirtualBox:~/桌面$ groups lenkylenky : lenky adm dialout cdrom sudo dip plugdev lpadmin sambashare3,注销后重新登录,再试,OK:
lenky@lenky-VirtualBox:~/桌面$ echo a > /dev/ttyS0lenky@lenky-VirtualBox:~/桌面$