注意

这是最新开发分支配套的文档,可能包含已发布版本中尚未提供的功能。如果您要查看特定版本的文档,请使用左侧的下拉菜单并选择所需要的版本。

ADC 使用教程#

什么是 ADC?#

ADC(Analog-to-Digital Converter,模数转换器) 是一种将模拟信号(如电压)转换为数字信号的硬件模块。 在嵌入式系统中,ADC 是连接传感器与微处理器之间的桥梁,用于采集电压信号并转化为可计算的数值数据。

K230 芯片内部集成了一个高性能 ADC 模块,具有以下特性:

  • 支持 6 个独立通道

  • 分辨率:12 位(即输出值范围为 0~4095)

  • 采样速率高达 1 MHz

  • 输出格式:原始数值(read_u16())或电压(read_uv(),单位:微伏)

示例概览#

以下示例演示了如何通过 K230 提供的接口,读取 ADC 通道的采样值电压值,用于后续信号处理或传感器数据采集。

1. 导入模块并初始化 ADC#

from machine import ADC

# 实例化 ADC 通道 0
adc = ADC(0)

2. 读取原始采样值(单位:无量纲)#

# 读取通道 0 的原始采样值(0 ~ 4095)
value = adc.read_u16()
print("ADC 原始值:", value)
  • 返回值范围:0 ~ 4095

  • 代表的是输入电压在参考电压下的比例

  • 可用于数字信号处理、阈值判断等场景

3. 读取电压值(单位:微伏)#

# 读取通道 0 的电压值,单位为 uV
voltage = adc.read_uv()
print("ADC 电压值:", voltage, "uV")
  • 返回单位:微伏(μV)

  • 提供更直观的实际电压信息,便于与电路或传感器参数对应

  • 若需要以伏特(V)为单位,可除以 1_000_000

4. 示例输出(假设输入为 1.65V)#

ADC 原始值: 2047
ADC 电压值: 1650000 uV

分辨率与电压映射#

K230 ADC 为 12 位分辨率,采样值与实际电压之间为线性关系:

\[ V_{in} = \frac{\text{ADC\_Value}}{4095} \times V_{\text{ref}} \]

⚠️ 默认参考电压一般为 3.3V,视芯片配置而定

注意事项#

项目

说明

通道编号

支持 6 个通道(编号 0~5),请确保所连接通道对应的引脚有模拟输入功能

输入电压范围

最大输入不得超过参考电压(如 3.3V),否则可能损坏芯片

单位转换

read_u16() 为原始采样值;read_uv() 为实际电压(μV)

采样噪声

建议平均多次读数,以减小 ADC 采样的瞬时抖动和外部干扰影响

应用场景#

  • 电压检测(如电池电压、电源状态)

  • 模拟传感器读取(如温度、电位器、光敏电阻)

  • 音频、震动等模拟信号采样

  • 反馈控制系统中模拟信号监测

延伸阅读 & 工具资源#

评论列表
条评论
登录