ZHCAFO1 August   2025 MSPM0G3507

 

  1.   1
  2. 1说明
  3. 2所需外设
  4. 3设计步骤
  5. 4设计注意事项
  6. 5软件流程图
  7. 6器件配置
  8. 7应用代码
    1. 7.1 应用代码 – 级联信号计算
  9. 8结果
  10. 9其他资源
  11.   商标

应用代码

主循环执行自补偿序列,包括直流偏置调整、级联电压计算、饱和控制和 UART 传输。

MSPM0G3507 Main.c 代码图 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 传输。
  • 计时器和 ADC 中断可控制周期性执行和采样。TIMERA ISR 每 50ms 会设置一个超时标志,而 ADC ISR 会捕获并存储转换结果。

customizable_features.h 中定义了所有可调的系统常量,如增益值、电压阈值、缓冲区长度和平滑系数。