增加modbus绑定
This commit is contained in:
@ -95,4 +95,45 @@ MenuEventType menu_port_key_scan(void)
|
||||
}
|
||||
return MENU_EVENT_NONE;
|
||||
}
|
||||
*/
|
||||
*/
|
||||
|
||||
#if MENU_CONFIG_ENABLE_MODBUS_MAP
|
||||
/**
|
||||
* @brief Modbus硬件发送数据接口示例实现
|
||||
* @param reg_type 寄存器类型
|
||||
* @param reg_addr 寄存器地址
|
||||
* @param reg_buf 数据缓冲区
|
||||
* @param buf_len 数据长度
|
||||
* @return 错误码
|
||||
* @note 用户需要根据实际硬件(如RS485、TCP)实现此接口
|
||||
*/
|
||||
MenuErrCode menu_port_modbus_send(ModbusRegType reg_type, uint16_t reg_addr, const uint8_t* reg_buf, uint8_t buf_len)
|
||||
{
|
||||
// 示例:通过RS485发送Modbus写指令(如写保持寄存器0x0000(40001))
|
||||
// 实际需根据Modbus协议实现帧组装、校验、发送
|
||||
(void)reg_type;
|
||||
(void)reg_addr;
|
||||
(void)reg_buf;
|
||||
(void)buf_len;
|
||||
return MENU_OK; // 模拟成功,用户需替换为实际逻辑
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Modbus硬件接收数据接口示例实现
|
||||
* @param reg_type 寄存器类型
|
||||
* @param reg_addr 寄存器地址
|
||||
* @param reg_buf 数据缓冲区
|
||||
* @param buf_len 数据长度
|
||||
* @return 错误码
|
||||
* @note 用户需要根据实际硬件(如RS485、TCP)实现此接口
|
||||
*/
|
||||
MenuErrCode menu_port_modbus_receive(ModbusRegType reg_type, uint16_t reg_addr, uint8_t* reg_buf, uint8_t buf_len)
|
||||
{
|
||||
// 示例:通过RS485接收Modbus读指令的响应数据
|
||||
(void)reg_type;
|
||||
(void)reg_addr;
|
||||
(void)reg_buf;
|
||||
(void)buf_len;
|
||||
return MENU_OK; // 模拟成功,用户需替换为实际逻辑
|
||||
}
|
||||
#endif // MENU_CONFIG_ENABLE_MODBUS_MAP
|
||||
@ -47,4 +47,28 @@ void menu_port_display(const char* menu_name, uint16_t menu_id);
|
||||
*/
|
||||
// MenuEventType menu_port_key_scan(void);
|
||||
|
||||
#include "menu.h"
|
||||
|
||||
#if MENU_CONFIG_ENABLE_MODBUS_MAP
|
||||
/**
|
||||
* @brief Modbus硬件发送数据接口(用户需实现,如RS485发送)
|
||||
* @param reg_type 寄存器类型
|
||||
* @param reg_addr 寄存器地址
|
||||
* @param reg_buf 数据缓冲区
|
||||
* @param buf_len 数据长度
|
||||
* @return 错误码
|
||||
*/
|
||||
MenuErrCode menu_port_modbus_send(ModbusRegType reg_type, uint16_t reg_addr, const uint8_t* reg_buf, uint8_t buf_len);
|
||||
|
||||
/**
|
||||
* @brief Modbus硬件接收数据接口(用户需实现,如RS485接收)
|
||||
* @param reg_type 寄存器类型
|
||||
* @param reg_addr 寄存器地址
|
||||
* @param reg_buf 数据缓冲区
|
||||
* @param buf_len 数据长度
|
||||
* @return 错误码
|
||||
*/
|
||||
MenuErrCode menu_port_modbus_receive(ModbusRegType reg_type, uint16_t reg_addr, uint8_t* reg_buf, uint8_t buf_len);
|
||||
#endif // MENU_CONFIG_ENABLE_MODBUS_MAP
|
||||
|
||||
#endif // MENU_PORT_H
|
||||
Reference in New Issue
Block a user