成功将Modbus设置为子组件

This commit is contained in:
jarvis 2025-03-08 10:17:00 +08:00
parent 39e6cfb3ab
commit d53dfce90d
8 changed files with 17 additions and 11 deletions

View File

@ -17,6 +17,7 @@
"files.associations": {
"ledc.h": "c",
"gpio.h": "c",
"sdmmc_host.h": "c"
"sdmmc_host.h": "c",
"modbus_params.h": "c"
}
}

View File

@ -0,0 +1,3 @@
idf_component_register(SRCS "FluxMod.c"
REQUIRES espressif__esp-modbus
INCLUDE_DIRS "." "C:/Espressif/frameworks/esp-idf-v5.3.1/examples/protocols/modbus/mb_example_common/include")

View File

@ -1,5 +1,5 @@
#include "FreeBus.h"
#include "FluxMod.h"
static const char *TAG = "MASTER_TEST";
@ -14,16 +14,12 @@ const mb_parameter_descriptor_t device_parameters[] = {
// Calculate number of parameters in the table
const uint16_t num_device_parameters = (sizeof(device_parameters)/sizeof(device_parameters[0]));
static esp_err_t master_init(void)
esp_err_t modbus_master_init(void)
{
// Initialize and start Modbus controller
mb_communication_info_t comm = {
.port = MB_PORT_NUM,
#if CONFIG_MB_COMM_MODE_ASCII
.mode = MB_MODE_ASCII,
#elif CONFIG_MB_COMM_MODE_RTU
.mode = MB_MODE_RTU,
#endif
.baudrate = MB_DEV_SPEED,
.parity = MB_PARITY_NONE
};

View File

@ -62,4 +62,4 @@ enum {
};
/*Modbus总线初始化函数*/
static esp_err_t master_init(void);
esp_err_t modbus_master_init(void);

View File

@ -19,6 +19,7 @@ void ReadSdCallFunc(lv_event_t * e)
void F1callbackFunc(lv_event_t * e)
{
// Your code here
}
void F2callbackFunc(lv_event_t * e)

View File

@ -3,8 +3,8 @@ if(CONFIG_EXAMPLE_LCD_IMAGE_FROM_EMBEDDED_BINARY)
file(GLOB_RECURSE embedded_images images/*.c)
endif()
idf_component_register(SRCS "FreeBus.c" "i80_controller_example_main.c" "lvgl_demo_ui.c" ${embedded_images}
REQUIRES FluxUI FluxPower spiffs FluxSD
idf_component_register(SRCS "i80_controller_example_main.c" "lvgl_demo_ui.c" ${embedded_images}
REQUIRES FluxUI FluxPower spiffs FluxSD FluxMod
INCLUDE_DIRS ".")
if(CONFIG_EXAMPLE_LCD_IMAGE_FROM_FILE_SYSTEM)

View File

@ -23,7 +23,7 @@
#include "FluxSD.h"
/*导入Modbus控制头文件*/
#include "FreeBus.h"
#include "FluxMod.h"
//新增触摸屏驱动头文件
#include "driver/i2c.h"
@ -34,6 +34,8 @@
static const char *TAG = "example";
#include "modbus_params.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////// Please update the following configuration according to your LCD spec //////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -454,6 +456,9 @@ void app_main(void)
/*初始化SD卡*/
flux_sd_init();
/*初始化Modbus*/
//modbus_master_init();
// Lock the mutex due to the LVGL APIs are not thread-safe
if (example_lvgl_lock(-1)) {