ArduinoModbus库文件硬件串口更改

2020-10-101.4万
AI 快速预览详细 收起
本文介绍了如何修改ArduinoModbus库文件中的硬件串口号,以解决与默认打印串口号的冲突问题。首先安装ArduinoModbus和ArduinoRS485库,然后找到库文件目录下的RS485.cpp和RS485.h文件。在RS485.cpp文件中将SERIAL_PORT_HARDWARE改为Serial2,并在RS485.h文件中将#define RS485_DEFAULT_TX_PIN 1改为#define RS485_DEFAULT_TX_PIN 16。保存修改后的文件后,ArduinoModbus库的硬件串口即已更改为Serial2。


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.


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
bigpandagd
bigpandagd
感谢分享
另外有没有SoftwareSerial的方法
丁世龙
丁世龙
我想问一下,改了之后啊这个产生的一根使能线的端口是哪个?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.
pATAq
pATAq
感谢分享
- 没有更多了 -