11 RS485读写案例
1 案例简介
本案例旨在介绍如何测试开发板上RS485的读写功能。
2 RS485接口介绍
开发板上共有两个RS485接口,分别对应UART7,UART8。其中对应UART7的接口接线示意图如下:

3 操作流程
打开终端,将本案例 bin 目录下(05-开发资料\软件开发资料\linux_demo\smdt_rs485_rw\bin)的可执行程序 smdt_rs485_rw 拷贝至开发板文件系统 (源码可以在 src 路径下查看)。
在终端执行如下指令,切换到 smdt_rs485_rw 可执行程序所在目录。
#切换到 smdt_rs485_rw 可执行程序所在目录
cd ‘可执行文件所在目录’
#查看 smdt_rs485_rw 是否在该目录下
ls
若可执行文件 smdt_rs485_rw 在当前目录下,则修改可执行文件的权限。
#添加可执行权限
chmod +x smdt_rs485_rw
#查询是否修改成功
ls -ld smdt_rs485_rw
查询确认文件修改权限成功后,执行 ./smdt_rs485_rw -h 可以查看该程序的帮助信息 本测试脚本中部分设置的默认参数如下: device: /dev/ttyS7 即 UART4 size:1024 即 在读模式下接收数据的默认长度为1024
#查看帮助信息
./smdt_rs485_rw -h
执行结果如下图:

输入下面指令,分别是读取模式和接收模式
#RS485读取数据模式
./smdt_rs485_rw -d /dev/ttyS7 -r
#RS485发送数据模式
./smdt_rs485_rw -d /dev/ttyS7 -w
执行 ./smdt_rs485_rw -d /dev/ttyS7 -w,将会进入发送输入状态,遇到回车键发送数据,执行结果如下:
输入Ctrl+Z 可以强制退出该模式


执行 ./smdt_rs485_rw -d /dev/ttyS7 -r,将会进入接收数据模式,接收数据并在遇到回车键或者超出限制的数据大小时结束接收,并显示数据在终端窗口,执行结果如下:
输入Ctrl+Z 可以强制退出该模式


4 补充说明
RS485的发送接收模式的切换,已经集成进内核驱动程序,无需用户手动控制GPIO切换,部分关于RS485模式自动切换的内核驱动程序代码如下:




