fix:更新注释等
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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 ------------------------------------------------------------------------------------------------*/
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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__
|
||||
|
||||
|
||||
@@ -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 复位 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 fputc:printf映射
|
||||
*
|
||||
* @brief fputc:printf映射函数
|
||||
* @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_Send:4G数据发送
|
||||
*
|
||||
* @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_Send:RS485数据发送
|
||||
* @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_fun:4G数据接收回调函数
|
||||
*
|
||||
* @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_fun:RS485数据接收回调函数
|
||||
* @note none
|
||||
* @param huart:串口句柄
|
||||
* @param Size:接收数据大小
|
||||
* @retval none
|
||||
*/
|
||||
void rs485_callback_fun()
|
||||
{
|
||||
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
@@ -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 ------------------------------------------------------------------------------------------------*/
|
||||
|
||||
@@ -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 addr:Flash地址
|
||||
* @param datalen:数据长度
|
||||
* @retval none
|
||||
*/
|
||||
void stmflash_read_data(uint8_t *pbuf, uint32_t addr, uint16_t datalen)
|
||||
{
|
||||
if (pbuf == NULL || datalen == 0) {
|
||||
|
||||
@@ -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__
|
||||
|
||||
|
||||
Reference in New Issue
Block a user