ZHCAFO1 August 2025 MSPM0G3507
主循环执行自补偿序列,包括直流偏置调整、级联电压计算、饱和控制和 UART 传输。
图 7-1 Main.c 代码remove_dc_voltage() 利用第一级运算放大器的输出和 DAC 基准电压计算放大后的输入。指数移动平均 (EMA) 滤波器用于隔离直流分量,并通过调整 DAC 使输出电压保持在中点附近。cascade_input_voltage() 使用 DAC 值和运算放大器输出计算级联信号 G1⋅G2⋅Vin。此输出表示系统经过滤波和增益校正后的信号。saturation_control() 如果输出电压超过设定范围,通过调整 DAC 参考防止第二级运算放大器中出现输出削波。send_UART_Data() 将 32 位级联输出分解为 4 个字节,并通过 UART 传输。customizable_features.h 中定义了所有可调的系统常量,如增益值、电压阈值、缓冲区长度和平滑系数。