fix:更新注释等

This commit is contained in:
2026-05-21 12:19:01 +08:00
parent fd65e9c6a2
commit 8ee0849831
54 changed files with 1145 additions and 683 deletions

View File

@@ -1,8 +1,11 @@
/**
* @file drv_air724.c
* @brief 4G模块(AIR724)驱动
* @details 提供通道连接/断开、设置服务器地址、查询SIM/信号/链路状态的接口,
* 以及统一解析4G模块上行响应帧的入口。
******************************************************************************
* @file User\Driver\drv_air724.c
* @author 路淮
* @version v0.1
* @date 2026-05-21
* @brief 4G模块(AIR724)驱动
******************************************************************************
*
* 协议55 AA mainCmd subCmd [payload] AA 55
*
@@ -25,7 +28,15 @@
Air724_Info_t g_air724_info = {0};
/* ── 内部:构造并发送命令帧 ──────────────────────────── */
/**
* @brief send_cmd发送命令帧函数
* @note none
* @param main_cmd 主命令 主命令字节
* @param sub_cmd 子命令 子命令字节
* @param payload 数据 数据指针
* @param payload_len 数据长度 数据长度
* @retval none
*/
static void drv_air724_send_cmd(uint8_t main_cmd, uint8_t sub_cmd,
const uint8_t *payload, uint16_t payload_len)
{
@@ -48,8 +59,14 @@ static void drv_air724_send_cmd(uint8_t main_cmd, uint8_t sub_cmd,
Air724_Message_Send(frame, idx);
}
/* ── 发送函数 ──────────────────────────────────────── */
/**
* @brief set_server设置服务器函数
* @note none
* @param ip 服务器IP地址 字符串指针
* @param port 服务器端口 十进制整数
* @retval none
*/
void drv_air724_set_server(const char *ip, uint16_t port)
{
if (!ip) return;
@@ -66,16 +83,28 @@ void drv_air724_set_server(const char *ip, uint16_t port)
drv_air724_send_cmd(0x04, 0, payload, 3 + ip_len);
}
/**
* @brief connect_channel连接通道函数
* @note none
* @param channel 通道号 通道-1-6
* @retval none
*/
void drv_air724_connect_channel(uint8_t channel)
{
if (channel < 1 || channel > AIR724_SOCKET_MAX) {
printf("4G: 通道 %d 无效\r\n", channel);
printf("4G: 通道 %d 无效 \r\n", channel);
return;
}
drv_air724_send_cmd(0x03, 0x01, &channel, 1);
printf("4G: 通道 %d 连接请求已发送\r\n", channel);
printf("4G: 通道 %d 连接请求已发送 \r\n", channel);
}
/**
* @brief disconnect_channel断开通道函数
* @note none
* @param channel 通道号 通道-1-6
* @retval none
*/
void drv_air724_disconnect_channel(uint8_t channel)
{
if (channel < 1 || channel > AIR724_SOCKET_MAX) {
@@ -86,33 +115,59 @@ void drv_air724_disconnect_channel(uint8_t channel)
printf("4G: 通道 %d 断开请求已发送\r\n", channel);
}
/**
* @brief query_iccid查询ICCID函数
* @note none
* @retval none
*/
void drv_air724_query_iccid(void)
{
drv_air724_send_cmd(0x05, 0x01, NULL, 0);
}
/**
* @brief query_imsi查询IMSI函数
* @note none
* @retval none
*/
void drv_air724_query_imsi(void)
{
drv_air724_send_cmd(0x05, 0x02, NULL, 0);
}
/**
* @brief query_imei查询IMEI函数
* @note none
* @retval none
*/
void drv_air724_query_imei(void)
{
drv_air724_send_cmd(0x05, 0x03, NULL, 0);
}
/**
* @brief query_signal查询信号函数
* @note none
* @retval none
*/
void drv_air724_query_signal(void)
{
drv_air724_send_cmd(0x06, 0x00, NULL, 0);
}
/**
* @brief query_link_status查询链路函数
* @note none
* @retval none
*/
void drv_air724_query_link_status(void)
{
drv_air724_send_cmd(0x07, 0x00, NULL, 0);
}
/* ── 统一解析入口 ───────────────────────────────────── */
/**
* @brief parse_response解析响应帧函数
* @note none
* @param frame 响应帧 响应帧指针
* @param len 响应帧长度 响应帧长度
* @retval none
*/
void drv_air724_parse_response(const uint8_t *frame, uint16_t len)
{
if (!frame || len < 7) return;

View File

@@ -1,7 +1,17 @@
/**
******************************************************************************
* @file User\Driver\drv_air724.h
* @author 路淮
* @version v0.1
* @date 2026-05-21
* @brief 4G模块(AIR724)驱动头文件
******************************************************************************
*/
#ifndef __DRVAIR724_H
#define __DRVAIR724_H
/* includes ----------------------------------------------------------------------------------------------*/
/* includes ------------------------------------------------------------------*/
#include "global.h"
/* macro ------------------------------------------------------------------------------------------------*/

View File

@@ -1,3 +1,13 @@
/**
******************************************************************************
* @file User\Driver\drv_flash.c
* @author 路淮
* @version v0.1
* @date 2026-05-21
* @brief Flash驱动
******************************************************************************
*/
#include "drv_flash.h"
/* flash数据帧格式 */
@@ -18,6 +28,12 @@ uint8_t erase_flag = 0;
uint32_t i = 0;
/**
* @brief flash_manage_init初始化flash管理函数
* @note none
* @param flash_manage 指向flash管理结构体的指针
* @retval none
*/
int8_t flash_manage_init(flash_manage_t *flash_manage)
{
uint8_t buff[4] = {0}; /* 存放帧头,帧大小,帧类型 */
@@ -58,6 +74,14 @@ int8_t flash_manage_init(flash_manage_t *flash_manage)
return 1;
}
/**
* @brief update_readable_frame更新可读帧表函数
* @note none
* @param flash_manage 指向flash管理结构体的指针
* @param addr 可读帧地址 可读帧地址
* @param frame_type 可读帧类型 可读帧类型
* @retval none
*/
void update_readable_frame(flash_manage_t *flash_manage, uint32_t addr, uint8_t frame_type)
{
uint8_t buff[4] = {0}; /* 存放帧头,帧大小,帧类型 */
@@ -88,6 +112,14 @@ void update_readable_frame(flash_manage_t *flash_manage, uint32_t addr, uint8_t
}
}
/**
* @brief flash_manage_read读取flash函数
* @note none
* @param flash_manage 指向flash管理结构体的指针
* @param pbuf 指向要读取数据的指针
* @param frame_type 要读取数据的类型
* @retval none
*/
int8_t flash_manage_read(flash_manage_t *flash_manage, uint8_t *pbuf, uint8_t frame_type)
{
if (flash_manage->manage_sector_num == 0 || flash_manage->sector_size == 0 || flash_manage->read_flash == 0 ||
@@ -116,6 +148,15 @@ int8_t flash_manage_read(flash_manage_t *flash_manage, uint8_t *pbuf, uint8_t fr
return 0;
}
/**
* @brief flash_manage_write写入flash函数
* @note none
* @param flash_manage 指向flash管理结构体的指针
* @param pbuf 指向要写入数据的指针
* @param size 要写入数据的大小
* @param frame_type 要写入数据的类型
* @retval none
*/
int8_t flash_manage_write(flash_manage_t *flash_manage, uint8_t *pbuf, uint16_t size, uint8_t frame_type)
{
uint8_t buff[size + 5];

View File

@@ -1,3 +1,13 @@
/**
******************************************************************************
* @file User\Driver\drv_flash.h
* @author 路淮
* @version v0.1
* @date 2026-05-21
* @brief Flash驱动头文件
******************************************************************************
*/
#ifndef __DRV_FLASH_H__
#define __DRV_FLASH_H__

View File

@@ -1,10 +1,10 @@
/**
******************************************************************************
* @file user\driver\drv_init.c
* @author luhuaishuai
* @file User\Driver\drv_init.c
* @author 路淮
* @version v0.1
* @date 2026-1-12
* @brief Briefly describe the function of your function
* @date 2026-05-21
* @brief 驱动层初始化
******************************************************************************
*/
/* Includes -------------------------------------------------------------------*/
@@ -14,16 +14,12 @@
/* code -----------------------------------------------------------------------*/
/**
* @brief drv_all_Init所有传感器、外设芯片、外部设备初始化
*
/**
* @brief drv_all_init所有传感器、外设芯片、外部设备初始化
* @note none
*
* @param none
*
* @retval none
*/
void drv_all_init(void)
{
AIR724_RESET(); /* AIR724 复位 */

View File

@@ -1,13 +1,23 @@
/**
******************************************************************************
* @file User\Driver\drv_init.h
* @author 路淮
* @version v0.1
* @date 2026-05-21
* @brief 驱动层初始化头文件
******************************************************************************
*/
#ifndef __DRVINIT_H
#define __DRVINIT_H
/* includes ----------------------------------------------------------------------------------------------*/
/* includes ------------------------------------------------------------------*/
#include "global.h"
/* Exported functions prototypes ------------------------------------------------------------------------*/
/* function prototype --------------------------------------------------------*/
void drv_all_init(void);
#endif /* __DRVINIT_H */

View File

@@ -1,10 +1,10 @@
/**
******************************************************************************
* @file user\hal\_hal_usart.c
* @author luhuaishuai
* @file User\Driver\drv_usart.c
* @author 路淮
* @version v0.1
* @date 2026-1-12
* @brief Briefly describe the function of your function
* @date 2026-05-21
* @brief 串口驱动
******************************************************************************
*/
@@ -12,25 +12,24 @@
#include "drv_usart.h"
/* variables ------------------------------------------------------------------*/
uint8_t uart1_rx_buffer[UART1_RX_BUFFER_SIZE];
uint8_t uart1_tx_buffer[UART1_TX_BUFFER_SIZE];
uint8_t uart1_rx_buffer[UART1_RX_BUFFER_SIZE];// 4G模块接收缓冲区
uint8_t uart1_tx_buffer[UART1_TX_BUFFER_SIZE];// 4G模块发送缓冲区
uint8_t uart3_rx_buffer[UART3_RX_BUFFER_SIZE];
uint8_t uart3_tx_buffer[UART3_TX_BUFFER_SIZE];
uint8_t uart3_rx_buffer[UART3_RX_BUFFER_SIZE];// RS485模块接收缓冲区
uint8_t uart3_tx_buffer[UART3_TX_BUFFER_SIZE];// RS485模块发送缓冲区
static SemaphoreHandle_t air724_tx_mutex = NULL;// 4G模块发送互斥信号量
static SemaphoreHandle_t air724_tx_mutex = NULL;
/* code -----------------------------------------------------------------------*/
/**
* @brief fputcprintf映射
*
* @brief fputcprintf映射函数
* @note none
*
* @param none
*
* @param ch字符
* @param f文件指针
* @retval none
*/
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart6, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
@@ -39,11 +38,9 @@ int fputc(int ch, FILE *f)
/**
* @brief Air724_Message_Send4G数据发送
*
* @note none
*
* @param none
*
* @param data数据指针
* @param len数据长度
* @retval none
*/
void Air724_Message_Send(uint8_t *data, uint16_t len)
@@ -62,6 +59,13 @@ void Air724_Message_Send(uint8_t *data, uint16_t len)
}
}
/**
* @brief Rs485_Message_SendRS485数据发送
* @note none
* @param data数据指针
* @param len数据长度
* @retval none
*/
void Rs485_Message_Send(uint8_t *data, uint16_t len)
{
RS485_EN(1);
@@ -71,14 +75,10 @@ void Rs485_Message_Send(uint8_t *data, uint16_t len)
/**
* @brief drv_usart_init所有串口初始化
*
* @note none
*
* @param none
*
* @retval none
*/
void drv_usart_init(void)
{
air724_tx_mutex = xSemaphoreCreateMutex();
@@ -98,11 +98,9 @@ void drv_usart_init(void)
/**
* @brief HAL_UARTEx_RxEventCallback串口接收完成中断处理函数
*
* @note none
*
* @param none
*
* @param huart串口句柄
* @param Size接收数据大小
* @retval none
*/
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
@@ -123,11 +121,9 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
/**
* @brief air724_callback_fun4G数据接收回调函数
*
* @note none
*
* @param none
*
* @param huart串口句柄
* @param Size接收数据大小
* @retval none
*/
void air724_callback_fun()
@@ -138,6 +134,13 @@ void air724_callback_fun()
memset(uart1_rx_buffer, 0, UART1_RX_BUFFER_SIZE);
}
/**
* @brief rs485_callback_funRS485数据接收回调函数
* @note none
* @param huart串口句柄
* @param Size接收数据大小
* @retval none
*/
void rs485_callback_fun()
{
BaseType_t xHigherPriorityTaskWoken = pdFALSE;

View File

@@ -1,4 +1,14 @@
/**
******************************************************************************
* @file User\Driver\drv_usart.h
* @author 路淮
* @version v0.1
* @date 2026-05-21
* @brief 串口驱动头文件
******************************************************************************
*/
#ifndef __DRV_USART_H
#define __DRV_USART_H
@@ -10,7 +20,7 @@
#elif defined(__GNUC__)
#endif
/* includes ----------------------------------------------------------------------------------------------*/
/* includes ------------------------------------------------------------------*/
#include "global.h"
/* macro ------------------------------------------------------------------------------------------------*/

View File

@@ -1,8 +1,26 @@
/**
******************************************************************************
* @file User\Driver\flash_config.c
* @author 路淮
* @version v0.1
* @date 2026-05-21
* @brief Flash读写配置
******************************************************************************
*/
#include "flash_config.h"
#include "stm32h7xx_hal.h"
#include "FreeRTOS.h"
#include "task.h"
/**
* @brief stmflash_read_data读取Flash数据
* @note none
* @param pbuf数据缓冲区指针
* @param addrFlash地址
* @param datalen数据长度
* @retval none
*/
void stmflash_read_data(uint8_t *pbuf, uint32_t addr, uint16_t datalen)
{
if (pbuf == NULL || datalen == 0) {

View File

@@ -1,3 +1,13 @@
/**
******************************************************************************
* @file User\Driver\flash_config.h
* @author 路淮
* @version v0.1
* @date 2026-05-21
* @brief Flash读写配置头文件
******************************************************************************
*/
#ifndef _FLASH_CONFIG_H__
#define _FLASH_CONFIG_H__