✨ feat(optic_mag): 集成光泵磁力仪驱动并重构数据包架构

- 新增光泵磁力仪驱动模块,通过 USART2 中断接收 BCD 编码数据,采样率 115200bps
- 重构数据包架构:引入标准包与扩展包(含光泵数据)两种类型,通过帧头魔数区分
- 新增 DataPacketWithOptic_t、CorrectedDataPacketWithOptic_t 两种扩展数据包类型
- 数据存储改为通用字节流写入(方案Y),支持任意包类型混流存储
- 将编译期配置集中到 app_config.h,包括 UART 输出、SD 存储、GPS 位置等开关
- 移除 ADC_SYNC GPIO 引脚配置,释放 PA2 用于 USART2_TX
- 主循环 ProcessAdcData 改为按需选择数据包类型,光泵数据快照在 ADC 中断前完成
- 新增 USART2 错误回调处理,支持接收异常时自动恢复
This commit is contained in:
2026-06-07 22:50:54 +08:00
parent 4f8feccc06
commit bc37e14fba
18 changed files with 693 additions and 298 deletions
-2
View File
@@ -60,8 +60,6 @@ void Error_Handler(void);
#define ADC_DRY_Pin GPIO_PIN_1
#define ADC_DRY_GPIO_Port GPIOA
#define ADC_DRY_EXTI_IRQn EXTI1_IRQn
#define ADC_SYNC_Pin GPIO_PIN_2
#define ADC_SYNC_GPIO_Port GPIOA
#define RS485_CTL_Pin GPIO_PIN_7
#define RS485_CTL_GPIO_Port GPIOC
+1
View File
@@ -60,6 +60,7 @@ void DMA1_Stream0_IRQHandler(void);
void DMA1_Stream3_IRQHandler(void);
void TIM2_IRQHandler(void);
void USART1_IRQHandler(void);
void USART2_IRQHandler(void);
void USART3_IRQHandler(void);
void SDIO_IRQHandler(void);
void DMA2_Stream0_IRQHandler(void);
+3
View File
@@ -34,6 +34,8 @@ extern "C" {
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart3;
/* USER CODE BEGIN Private defines */
@@ -41,6 +43,7 @@ extern UART_HandleTypeDef huart3;
/* USER CODE END Private defines */
void MX_USART1_UART_Init(void);
void MX_USART2_UART_Init(void);
void MX_USART3_UART_Init(void);
/* USER CODE BEGIN Prototypes */