[MM32硬件] 多传感器场景下的ADC扩展与I2C/SPI协同使用示例。

[复制链接]
 楼主| 怎么总是重复啊 发表于 2025-4-30 12:04 | 显示全部楼层 |阅读模式
AD, ADC, I2c, dc, pi
灵动MCU可以通过内部ADC采本地电压,同时用I2C或SPI接口连接外部温度、电流传感器(如 TMP102、INA219)。
MCU按设定周期轮流采集各传感器数据,再做判断或控制,比如:

电压太低 → 关负载

温度过高 → 降功率

电流过大 → 报警或限流

适合电池管理、智能电源等多参数监控场景。


xiaoqizi 发表于 2025-7-6 19:53 | 显示全部楼层
MCU内置ADC可采集本地信号,外部的可以扩展模拟通道数量或提升采样精度
木木guainv 发表于 2025-7-6 22:25 | 显示全部楼层
I2C通信支持多主多从,适合传感器网络
Jiangxiaopi 发表于 2025-7-7 09:55 | 显示全部楼层
IIC在大多数情况下比较适合连接低速传感器
荣陶陶 发表于 2025-7-7 12:31 | 显示全部楼层
SPI通信时序严格,需配置时钟极性/相位
Zhiniaocun 发表于 2025-7-7 14:43 | 显示全部楼层
内部ADC采集电池电压,SPI连接INA219采集电流,I2C连接TMP102监测温度。MCU通过轮询或中断方式读取数据,实现多参数监控
Zuocidian 发表于 2025-7-7 17:19 | 显示全部楼层
I2C/SPI设备需共地,避免电压偏差导致通信失败


Puchou 发表于 2025-7-7 19:37 | 显示全部楼层
I2C总线需匹配阻抗,SPI需缩短走线并避免交叉干扰
Xiashiqi 发表于 2025-7-7 21:57 | 显示全部楼层
SPI需确保CS信号时序正确,避免多从机冲突
小海师 发表于 2025-7-8 08:19 | 显示全部楼层
while (1) {
    // 读取I2C温度传感器
    HAL_I2C_Master_Receive(&hi2c1, TMP102_ADDR, &temp_data, 2, HAL_MAX_DELAY);
    // 读取SPI ADC数据
    HAL_GPIO_WritePin(SPI_CS_GPIO, SPI_CS_PIN, GPIO_PIN_RESET);
    HAL_SPI_Receive(&hspi1, adc_buffer, 2, HAL_MAX_DELAY);
    HAL_GPIO_WritePin(SPI_CS_GPIO, SPI_CS_PIN, GPIO_PIN_SET);
    // 处理数据...
}


Haizangwang 发表于 2025-7-8 10:33 | 显示全部楼层
根据传感器类型选择协议,兼顾系统性能与资源利用率
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

262

帖子

1

粉丝
快速回复 返回顶部 返回列表