✨ feat(monitor): 增强系统监控与数据存储功能
- 新增数据存储缓冲区可用性检查,防止缓冲区满时数据丢失 - 新增会话文件夹管理功能,每次上电自动创建新的数据存储文件夹 - 新增监控状态定期保存功能,将系统统计信息写入MONITOR.TXT文件 - 新增数据丢弃统计,记录因缓冲区满而未存储的数据包数量 - 优化数据输出模式配置,支持串口输出和存储到卡的独立控制 - 优化USB连接处理逻辑,增加系统稳定性检查 🐛 fix(interrupt): 调整中断优先级配置 - 提高USART1中断优先级(从6调整为2),确保串口通信及时响应 - 调整DMA2_Stream5中断优先级(从0调整为5),优化数据传输调度 - 修复RS485驱动中的忙标志逻辑,改为阻塞式传输以提高可靠性 ♻️ refactor(config): 优化系统配置和存储设置 - 重构宏定义配置,统一系统监控开关,分离数据输出模式控制 - 将SD卡最大扇区大小从512调整为4096,优化大文件存储性能 - 增加堆栈大小配置(从0x800调整为0x1000),提高系统稳定性 - 优化USB存储读写超时设置,使用最大超时值确保操作完成 📝 docs(comments): 更新代码注释和文档 - 更新数据存储模块的注释,说明新的会话文件夹管理机制 - 在main.c中添加数据输出模式选择的详细说明注释 - 更新系统监控统计输出格式,包含新增的数据丢弃统计项
This commit is contained in:
@@ -290,7 +290,7 @@ int8_t STORAGE_Read_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t bl
|
||||
// 使用较长的超时时间 (SD NAND 读写较慢)
|
||||
uint32_t timeout = 2000;
|
||||
|
||||
if (HAL_SD_ReadBlocks(&hsd, buf, blk_addr, blk_len, timeout) != HAL_OK) {
|
||||
if (HAL_SD_ReadBlocks(&hsd, buf, blk_addr, blk_len, 0xffff) != HAL_OK) {
|
||||
return (USBD_FAIL);
|
||||
}
|
||||
|
||||
@@ -321,10 +321,10 @@ int8_t STORAGE_Write_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t b
|
||||
// 修正 3: 增加超时时间,并等待 Busy 结束
|
||||
uint32_t timeout = 5000; // 给 5秒,SD NAND 写入由于要擦除/编程,很慢
|
||||
|
||||
if (HAL_SD_WriteBlocks(&hsd, buf, blk_addr, blk_len, timeout) != HAL_OK) {
|
||||
if (HAL_SD_WriteBlocks(&hsd, buf, blk_addr, blk_len, 0xffff) != HAL_OK) {
|
||||
return (USBD_FAIL);
|
||||
}
|
||||
|
||||
|
||||
// 【最关键的一步】等待 SD NAND 内部编程结束
|
||||
// 如果没有这一步,文件就会丢失!
|
||||
uint32_t tickstart = HAL_GetTick();
|
||||
|
||||
Reference in New Issue
Block a user