当前位置:   article > 正文

RP2040-HAT-MODBUS-C_arduino rp2040 modbus

arduino rp2040 modbus
 WIZnet Pico 板上的 Modbus TCP RTU/ASCII

转发: RP2040-HAT-MODBUS-C


项目介绍

RP2040-HAT-MODBUS-C

该项目是在 W5500-EVB-Pico 或 W5100S-EVB-Pico 上运行的 Modbus TCP RTU/ASCII 示例代码。

W5100S-EVB-Pico | WIZnet Document System W5500-EVB-Pico | WIZnet Document System

设置 CMakeLists

在 RP2040-HAT-MODBUS-C/CMakeLists.txt 中设置 PICO_SDK_PATH
请参阅下面的文档了解更多信息。
https://www.raspberrypi.com/documentation/microcontrollers/c_sdk.html

  1. if(NOT DEFINED PICO_SDK_PATH)
  2. set(PICO_SDK_PATH ${CMAKE_SOURCE_DIR}/libraries/pico-sdk)
  3. message(STATUS "PICO_SDK_PATH = ${PICO_SDK_PATH}")
  4. endif()

如果您使用的是 W5100S-EVB-Pico 板,请进行以下更改。 默认为 W5500-EVB-Pico。

  1. # Set ethernet chip
  2. set(WIZNET_CHIP W5100S)

设置定时器

如果您有不同的 MCU 或不同的时钟,则需要设置计时器。 本例设置定时器为20khz。
RP2040-HAT-MODBUS-C\port\modbus\src\mbtimer.c

1/20khz = 50us

add_repeating_timer_us(50, vMBPortTimersCallback, NULL, &g_mb_timer);

设置 Modbus 串行

在此示例中,UART1 TX : 4、RX : 5 引脚转换为 Modbus 串行。
波特率为 19200。 RP2040-HAT-MODBUS-C\port\modbus\inc\mbserial.h

  1. #define UART_MODBUS uart1
  2. #define UART_MODBUS_TX 4
  3. #define UART_MODBUS_RX 5
  4. #define UART_MODBUS_BAUDRATE 19200

建造

RP2040-HAT-MODBUS-C

  1. mkdir build
  2. cd build
  3. cmake -G "NMake Makefiles" ..
  4. nmake

我使用 modbus poll/slave 工具进行了测试。
总线轮询: Modbus Master Simulator
MODBUS从站 : Modbus Slave Simulator

Modbus 池连接:

Modbus Poll connect.png

Modbus 从站连接:

Modbus Slave connect.png

测试结果 :

Test Result.png

文件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/659579
推荐阅读
相关标签
  

闽ICP备14008679号