1、串口调试

(1)获取串口号:ls /dev/tty*

(2)配置串口属性

  • 查看串口属性,比如查看ttySWK0串口的信息
sudo stty -F /dev/ttySWK0
  • 设置串口波特率,比如设置ttySWK0串口的波特率为115200:
stty -F /dev/ttySWK0 speed 115200

        一般串口波特率默认值为9600。

(3)串口数据读写操作

        打开两个终端

        一个终端使用echo向串口发送数据,如       

 echo “1111111” > /dev/ttySWK0

        一个终端使用cat来读取串口中的数据,如

cat /dev/ttySWK0

        读取数据并保存到txt文本文件中,如

cat /dev/ttySWK0 > ttySWK0_output.txt

2、遇到的问题

(1)串口数据写入提示无权限

        解决方案:

  • 查看串口对应的信息:ls /dev/ttySWK0 -l

        可看到串口所属用户组为dialout

  •  查看当前用户所属组,此处假设用户名为test:groups test
  • 串口所属组添加当前用户test:sudo gpasswd --add test dialout
  • 添加后查看当前用户所属组的情况,确认添加用户成功:groups test

test : test adm dialout cdrom sudo dip plugdev lpadmin nopasswdlogin sambashare

        然后重启系统或注销用户使其生效

(2)cat端读取串口数据显示输入的串口信息后,显示了很多空白行

        问题分析:由于cat是实时读取数据的,在串口数据回显的情况下,会不停的读取串口信息。

        解决办法:

        第一种方法,去除串口回显stty -F /dev/ttySWK0 -ech0

        然后读取串口数据显示就是数据加换行。

        第二种方法,读取串口数据时指定读取行数。比如指定前5列数据。cat /dev/ttyS4 |head -n 5

     

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐