rs485 rs485接口通信驱动包。
rs485
软件包目录结构如下所示:
rs485
├───inc // 头文件目录
│ └───rs485.h // API 接口头文件
├───src // 源码目录
│ | rs485.c // 主模块
│ | rs485_test.c // 测试模块
│ | rs485_sample_slave.c // 从模式示例
│ └───rs485_sample_master.c // 主模式示例
│ license // 软件包许可证
│ readme.md // 软件包使用说明
└───SConscript // RT-Thread 默认的构建脚本
rs485 package 遵循 LGPLv2.1 许可,详见 LICENSE
文件。
- RT_Thread 4.0
- serial
- pin
- 功能 :动态创建rs485实例
- 参数 :serial--串口设备名称
- 参数 :baudrate--串口波特率
- 参数 :parity--串口检验位
- 参数 :pin--rs485收发模式控制引脚
- 参数 :level--发送模式控制电平
- 返回 :成功返回实例指针,失败返回NULL
- 功能 :销毁rs485实例
- 参数 :hinst--rs485实例指针
- 返回 :0--成功,其它--失败
- 功能 :配置rs485通信参数
- 参数 :hinst--rs485实例指针
- 参数 :baudrate--通信波特率
- 参数 :databits--数据位数, 5~8
- 参数 :parity--检验位, 0~2, 0--无校验, 1--奇校验, 2--偶校验
- 参数 :stopbits--停止位, 0~1, 0--1个停止位, 1--2个停止位
- 返回 :0--成功,其它--错误
- 功能 :设置rs485接收超时时间
- 参数 :hinst--rs485实例指针
- 参数 :tmo_ms--超时时间,单位ms
- 返回 :0--成功,其它--错误
- 功能 :设置rs485接收字节间隔超时时间
- 参数 :hinst--rs485实例指针
- 参数 :tmo_ms--超时时间,单位ms
- 返回 :0--成功,其它--错误
- 功能 :打开rs485连接
- 参数 :hinst--rs485实例指针
- 返回 :0--成功,其它--错误
- 功能 :关闭rs485连接
- 参数 :hinst--rs485实例指针
- 返回 :0--成功,其它--错误
- 功能 :从rs485接收数据
- 参数 :hinst--rs485实例指针
- 参数 :buf--接收数据缓冲区指针
- 参数 :size--缓冲区尺寸
- 返回 :>=0--接收到的数据长度,<0--错误
- 功能 :向rs485发送数据
- 参数 :hinst--rs485实例指针
- 参数 :buf--发送数据缓冲区指针
- 参数 :size--发送数据长度
- 返回 :>=0--发送的数据长度,<0--错误
- 功能 :中断rs485接收等待
- 参数 :hinst--rs485实例指针
- 返回 :0--成功,其它--错误
int rs485_send_then_recv(rs485_inst_t * hinst, void *send_buf, int send_len, void *recv_buf, int recv_size);
- 功能 :先向rs485发送命令数据,然后从rs485接收响应数据,在多线程使用同一rs485时,可不受打扰地完成发送命令接收响应功能
- 参数 :hinst--rs485实例指针
- 参数 :send_buf--发送数据缓冲区指针
- 参数 :send_len--发送数据长度
- 参数 :recv_buf--接收数据缓冲区指针
- 参数 :recv_size--接收缓冲区尺寸
- 返回 :>=0--接收到的数据长度,<0--错误
- 方式1: 通过 Env配置工具 或 RT-Thread studio 开启软件包,根据需要配置各项参数;配置路径为 RT-Thread online packages -> peripherals packages -> rs485
参数宏 | 说明 |
---|---|
RS485_USING_TEST | 使用测试功能 |
RS485_TEST_SERIAL | 串口设备名称 |
RS485_TEST_BAUDRATE | 串口波特率 |
RS485_TEST_PARITY | 串口校验位 |
RS485_TEST_PIN | 收发模式控制引脚 |
RS485_TEST_LEVEL | 发送模式控制电平 |
RS485_TEST_BUF_SIZE | 缓冲区尺寸 |
RS485_TEST_RECV_TMO | 接收超时时间 |