STM_ATEM/User/system_monitor.h
zhoujie 9a2d543fcb feat(system-monitor): 新增SD卡存储监控功能并优化系统配置
- 新增SD卡存储监控功能,包含写入次数、错误次数、缓冲区满次数、总写入字节数和文件数量等统计指标
- 新增SD卡监控API函数,包括报告写入、报告错误、报告缓冲区满和报告文件创建
- 在data_storage.c中集成SD卡监控功能,在关键操作点添加监控报告
- 新增详细的使用文档《SD_Storage_Monitoring_Guide.md》,说明监控指标、API使用、集成方法和故障诊断
- 优化系统调试输出,在DebugOutput_PrintSystemStats中增加SD卡统计信息显示,包括基本统计、SD卡统计和计算指标(平均写入大小、错误率)
- 调整SDIO时钟分频器从2改为1以提高SD卡通信速度
- 调整TIM2中断优先级从12改为3以提高定时器响应优先级
- 更新STM32CubeMX配置文件(.ioc)以反映SDIO时钟分频和TIM2中断优先级的更改
- 注释掉USB连接状态检测代码以简化主循环处理
- 优化ADC数据就绪中断处理,每2次触发一次DMA读取,并在DMA读取超时时报告数据溢出
- 移除ProcessAdcData函数中已注释的RS485发送代码
- 将数据溢出报告从ProcessAdcData函数移至HAL_GPIO_EXTI_Callback函数中的DMA读取超时处理
2026-02-06 23:58:56 +08:00

33 lines
1.1 KiB
C

#ifndef SYSTEM_MONITOR_H
#define SYSTEM_MONITOR_H
#include "main.h"
#include <stdint.h>
// 简化的系统监控统计信息
typedef struct {
uint32_t total_samples; // 总采样样点数
uint32_t data_overflow_count; // 数据来不及处理的次数
// SD卡存储监控信息
uint32_t sd_write_count; // SD卡写入次数
uint32_t sd_write_error_count; // SD卡写入错误次数
uint32_t sd_buffer_full_count; // 缓冲区满次数
uint32_t sd_total_bytes_written; // SD卡总写入字节数
uint32_t sd_file_count; // 创建的文件数量
} SystemMonitorStats_t;
// 函数声明
void SystemMonitor_Init(void);
void SystemMonitor_IncrementSampleCount(void);
void SystemMonitor_ReportDataOverflow(void);
void SystemMonitor_GetStats(SystemMonitorStats_t *stats);
// SD卡存储监控函数
void SystemMonitor_ReportSDWrite(uint32_t bytes_written);
void SystemMonitor_ReportSDWriteError(void);
void SystemMonitor_ReportSDBufferFull(void);
void SystemMonitor_ReportSDFileCreated(void);
#endif // SYSTEM_MONITOR_H