1.添加了必要的注释和readme文件以提高代码可读性和项目文档化。2.增加了按键按下时LCD屏幕显示功能
This commit is contained in:
@@ -1,16 +1,56 @@
|
||||
/******************************************************************************
|
||||
* @file MODBUS.h
|
||||
* @brief Modbus RTU 协议通信处理模块头文件
|
||||
* @details 本文件声明了 Modbus RTU 通信相关的接口函数,包括主处理、LOGO 显示、
|
||||
* 轮询计数与初始化等。配合 MODBUS.c 使用,通过 RS485 与从站通信。
|
||||
* @author 阜阳师范大学物电学院
|
||||
* @version V0.01
|
||||
* @date 2026.1.23
|
||||
* @note 通信协议:Modbus RTU
|
||||
* 通信接口:RS485
|
||||
* 主站地址:0x01
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef MODBUS_H__
|
||||
#define MODBUS_H__
|
||||
|
||||
#include "./SYSTEM/sys/sys.h"
|
||||
#include "./SYSTEM/delay/delay.h"
|
||||
#include "key.h"
|
||||
|
||||
/* ============================================================================
|
||||
* 函数声明
|
||||
* ============================================================================ */
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Modbus 通信主处理函数(远程图片处理)
|
||||
* @param key 按键值(KEY_TYPE),用于上报按键事件
|
||||
* @param flag 连接标志(传入当前连接状态,用于更新)
|
||||
* @note 处理接收帧、按键上报、定时刷新、应答超时等;采用 138 端处理图片、
|
||||
* 整体上传显示的方式刷图。需在周期任务中调用。
|
||||
* @retval 更新后的连接标志(1=已连接,0=未连接/超时)
|
||||
*/
|
||||
uint8_t RS485_Process(KEY_TYPE key, uint8_t flag);
|
||||
void NL_LOGO_Printf(void);
|
||||
void Process_Count(void);
|
||||
void Process_Init(void);
|
||||
#endif // end of ADC_H definition
|
||||
|
||||
/**
|
||||
* @brief 从 Flash 读取 LOGO 并显示
|
||||
* @note 调用 BMP_Get 读 Flash,再 LOGO_Printf 显示,合计延时约 2s
|
||||
* @retval 无
|
||||
*/
|
||||
void NL_LOGO_Printf(void);
|
||||
|
||||
/**
|
||||
* @brief 轮询计数处理(需在 5ms 周期定时器中调用)
|
||||
* @note 递增 RT_count;若 ACK_COUNT_ABLE 置位则递增 ACK_count,用于超时检测
|
||||
* @retval 无
|
||||
*/
|
||||
void Process_Count(void);
|
||||
|
||||
/**
|
||||
* @brief Modbus 轮询与应答相关变量初始化
|
||||
* @note 清零超时、应答计数等标志,置位 CMD_ACK 允许发送。上电或重新建立通信前调用
|
||||
* @retval 无
|
||||
*/
|
||||
void Process_Init(void);
|
||||
|
||||
#endif /* MODBUS_H__ */
|
||||
|
||||
Reference in New Issue
Block a user