波形发生识别系统开发日志

波形发生识别系统开发日志

G431(波形发生器)部分

文件清单与角色

文件 角色 关键内容
main.c 主入口(5种波形版) 按键切波、串口命令、justfloat发送
main copy.c 旧版备份(正弦+方波互斥) 含DacDbg_Run自检,已被main.c取代
wavegen.c 5种波形表生成 正弦/方波/三角/锯齿/阶梯,全走PA4
wave_gen.c 2种波形互斥版 方波走TIM3/PA6,正弦走DAC/PA4
dac.c DAC1配置 G4特有:外设侧必须WORD对齐
adc.c ADC1配置 单通道PA1,T2_TRGO触发,DMA循环
dma.c DMA时钟+NVIC DMAMUX1 + DMA1,两个通道中断
tim.c TIM2/TIM3 TIM2=100kHz TRGO,TIM3=1kHz PWM
usart.c USART1 921600 8N1,PC4=TX / PA10=RX
gpio.c GPIO PB0按键上拉输入,PC13模拟
stm32g4xx_it.c 中断向量 DMA1_CH1/CH2处理
system_stm32g4xx.c 系统时钟 HSE 24M → PLL → 170MHz

数据流

生成侧(G431): TIM2 TRGO 100kHz ──┬──> DAC1 触发 ──> DMA1_CH2搬表 ──> PA4输出 │ └──> ADC1 触发 ──> DMA1_CH1搬结果 ──> adc_buf

wavegen.c 的 s_table[100] 就是DAC的搬运源, 改表内容 = 换波形,DMA下一圈自动读新表。

发送侧(G431): adc_buf[500] ──> tx_buf[500](转电压) ──> jf_buf[4000](justfloat打包) ──> HAL_UART_Transmit ──> PC4 ──> VOFA+