一、ADC简介:
STM32有1~3个ADC,我使用的STM32F103ZET6有3个ADC,是12位逼近的数字模拟转换器,它有18个通道,包括16个外部通道和2个内部信号源。每个ADC有4种模式:单次、连续、扫描、间断。存储方式分为左对齐或右对齐,一般选择右对齐。ADC将转换分为两个通道组:规则通道与注入通道,规则通道相当于正常执行的程序,注入通道相当于中断。规则通道最多包含16个,注入通道最多位4个。
本次介绍仅介绍规则通道的单次转换,
二、软件配置:
1)开启PA口的时钟和ADC1的时钟,设置PA1为模拟输入;
2)复位ADC1,同时设置分频因子;要保证ADC的时钟不超过14MHZ,否则可能不准,而APB2的时钟为72MHZ,所以分频因子选6,ADC的时钟就为12MHZ;
3)初始化ADC1参数,设置ADC1的工作模式以及规则序列的相关信息;
4)使能ADC并校准;
ADC_CR2寄存器
5)读取ADC值;转换完成EOC结束标志位会置1;
三、功能测试:
程序烧写到板子后,PA1接0~3.3V的电压则会被转换成12位的数字信号,切记不能超过3.3V,否则可能会导致ADC烧掉。接着可从OLED上观测到此时的电压。
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。