7183浏览
查看: 7183|回复: 3

[入门] ArduinoModbus库文件硬件串口更改

[复制链接]
本帖最后由 Strictus 于 2020-10-10 13:10 编辑

ArduinoModbus库文件使用的硬件串口号是写死的,并且与大多数Arudino主板的默认打印串口号重复。因此会让要想使用ArduinoModbus库的用户感到有些苦恼,这个贴子给大家展示一下如何修改ArduinoModbus库使用的硬件串口号。


1、使用前需要安装两个库文件(在IDE中打开Library Manager(Ctrl+Shift+I),找到并安装ArduinoModbusArduinoRS485两个库),安装好库文件后,找到Arduino库安装目录,如下图:
ArduinoModbus库文件硬件串口更改图1
ArduinoModbus库文件硬件串口更改图2
2 在库文件安装目录下的ArduinoRS485库文件中找到RS485.cppRS485.h两个文件,如下图;
ArduinoModbus库文件硬件串口更改图3
3、打开RS485.cpp,找到169行代码RS485ClassRS485(SERIAL_PORT_HARDWARE, RS485_DEFAULT_TX_PIN, RS845_DEFAULT_DE_PIN,RS845_DEFAULT_RE_PIN);如下图;
ArduinoModbus库文件硬件串口更改图4

将参数SERIAL_PORT_HARDWARE改为需要用到的硬件串口号,如下图;
ArduinoModbus库文件硬件串口更改图5
这里已改为Serial2.

4、打开RS485.h文件,找到宏定义#defineRS485_DEFAULT_TX_PIN  1,如下图;

ArduinoModbus库文件硬件串口更改图6
将宏定义#define RS485_DEFAULT_TX_PIN  1改为硬件串口相对应的PIN,如下图;
ArduinoModbus库文件硬件串口更改图7
Serial2Tx Pin16,所以这里将宏定义改为#defineRS485_DEFAULT_TX_PIN 16


将修改后的RS485.cppRS485.h两个文件保存后即ArduinoModbus库的硬件串口已修改为Serial2.


pATAq  版主

发表于 2020-10-11 13:54:04

感谢分享
回复

使用道具 举报

丁世龙  学徒

发表于 2021-5-28 13:50:14

我想问一下,改了之后啊这个产生的一根使能线的端口是哪个?Modify the pins to used to communicate with the MAX3157. By default the library uses pin 14 for TX, pin A6 for drive output enable, and pin A5 for receiver output enable.
回复

使用道具 举报

bigpandagd  学徒

发表于 2024-9-30 22:19:00

感谢分享
另外有没有SoftwareSerial的方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail