一、基础认识
ADC就是模数转换,即将模拟量转换为数字量
l 分辨率,读出的数据的长度,如8位就是最大值为255的意思,即范围[0,255],12位就是最大值为4096,即范围[0,4096]
l 通道,ADC输入引脚,通常一个ADC控制器控制多个通道,如果需要多通道的话,就得进行每个通道扫描了。
l ADC DMA功能,DMA是内存到内存或内存到存储的直接映射,数据不用经过单片机处理器而直接由硬件进行数据的传递。方便直接将读取的ADC值放到内存变量中。
ADC芯片通常有正参考电压和负参考电压,通常正参考电压连接到VCC,负参考电压连接到GND
在STM32中ADC还可以用于采集芯片的温度、RTC供电电压
一般来说,采样时间越长,结果越准确,采样时间要更具ADC的时钟周期和ADC通道设置的采样周期计算,如STM32F103C8T6配置的ADC时钟周期为12MHZ,采样周期配置的是239.5 Cycles。
ADC的转换方式:
l 单次转换,一次只转换一个通道
l 连续转换,转换完成一个通道后立即自动执行下一个通道的转换
l 扫描模式,开启一次后,自动的连续读取多个通道
ADC的三种工作方式:
l 阻塞模式(查询模式)
l 中断模式
l DMA模式
二、cubemx基础配置
使用外部晶振
使用SWD调试
时钟配置
ADC时钟12MHZ,采样周期