STM32CubeMX:ADC模数转换器的基本工作原理及开发_README

采样、保持、量化、编码

量程:ADC所能输入的模拟信号的类型(单极性和双极性)和电压(参考电压,例:5v)

转换位数:n,例:10位ADC输出范围是:0~1023

分辨率:ADC能分辨的模拟信号最小变化量

分辨率=量程/2的n次方

例:量程为单极性的0-5v,8位的ADC分辨率是:5/256

编码值->量化值/分辨率 (对其编码)

查询方式,阻塞式的A/D转换

uint16_t ADC_Value = 0; //接收AD转化返回的结果

HAL_ADC_Start(&hadc); //启动ad,&hadc给一个实例的地址,启动的是哪一个ad

if(HAL_OK== HAL_ADC_PollForConversion(&hadc,10)) //(转换哪个AD,转换时间),转话完成返回一个ok

{
ADCo_Value = HAL_ADC LGetValue(&hadc); //读出结果

}

中断方式,非阻塞式的A/D转化

uint16_t ADC_Value = o; //接收A/D转换结果

HAL_ADC_Start_IT(&hadc); //带有中断功能的启动函数
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef*hadc1) //中断回调函数

{
ADCo_Value = HAL_ADC_GetValue(&hadc); //读结果

}

题目要求:

ADC1设置,使能:

串口设置:

串口使能:

宏定义,数组定义:

引入头函数:

主函数外函数:

主函数内函数: