完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、 ADC简介
STM32F103系列有3个ADC,精度为12位,ADC是一个逐次逼近型模拟数字转换器,且每个ADC有18个通道,可以测量16个外部和2个内部信号源,每个通道的A/D转换可以进行单次、连续、扫描或间断模式执行,ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中,ADC的输入时钟不得超过14MHZ,否则可能不准。也就是说,如果按照默认设置PCLK2为72MHz,此时应为6分频或者8分频,见图1.1。 图1.1 2、 ADC主要特征 (1)12位分辨率(精度) (2)转换结束、注入转换结束和发生模拟看门狗事件时产生中断 (3)单次和连续转换模式 (4)从通道0到通道n的自动扫描模式 (5)自校准 (6)带内嵌数据一致性的数据对齐 (7)采样间隔可以按通道分别编程 (8)规则转换和注入转换均有外部触发选项 (9)间断模式 (10)双重模式 (11)ADC供电要求:2.4V到3.6V (12)ADC输入范围:VREF-《=VIN《=VREF+ (13)规则通道转换期间有DMA请求产生 3、 通道选择 有16个多路通道。可以把转换组织成两组:规则组和注入组。在任意多个通道上以任意顺序进行的一系列转换构成成组转换。例如,可以如下顺序完成转换:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。 (1)规则组由多达16个转换组成。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。规 则组中转换的总数应写入ADC_SQR1寄存器的L[3:0]位中。 (2)注入组由多达4个转换组成。注入通道和它们的转换顺序在ADC_JSQR寄存器中选择。注入组里的转换总数目应写入ADC_JSQR寄存器的L[1:0]位中。 4、ADC寄存器配置举例 void Adc_config(void) { RCC-》APB2ENR |=(0x01《《2);//开启PA端口时钟 RCC-》APB2ENR |=(0x01《《9);//开启ADC1时钟 RCC-》CFGR |=(0x01《《15);//ADC预分频为6分频 GPIOA-》CRL &=~(0x0f《《4);//PA1设置为模拟输入模式 GPIOA-》CRL &=~(0x0f《《8);//PA2设置为模拟输入模式 GPIOA-》CRL &=~(0x0f《《12);//PA3设置为模拟输入模式 ADC1-》SMPR2 |=(0x03《《3);//通道1(PA1的通道)的采样时间为011(28.5周期) ADC1-》SMPR2 |=(0x03《《6);//通道2(PA2的通道)的采样时间为011(28.5周期) ADC1-》SMPR2 |=(0x03《《9);//通道3(PA3的通道)采样时间配置为28.5个周期 ADC1-》CR1 |=(0x01《《8);//使用扫描模式 ADC1-》CR2 |=(0x01《《20);//使用外部事件启动转换 ADC1-》CR2 |=(0x07《《17); ADC1-》CR2 &=~(0x01《《11);//数据对齐模式为:右对齐 ADC1-》CR2 |=(0x01《《1);//设置为连续模式 ADC1-》SQR1 |=(0x02《《20);//三个转换 ADC1-》SQR3 |=(0x03《《0);//第一个转换为3通道 ADC1-》SQR3 |=(0x02《《5);//第二个转换为2通道 ADC1-》SQR3 |=(0x01《《10);//第三个转换为1通道 ADC1-》CR2 |=(0x01《《0);//开启ADC并启动转换 ADC1-》CR2 |=(0x01《《3);//初始化校准 while(ADC1-》CR2 & (0x01《《3));//等待初始化校准完成 ADC1-》CR2 |=(0x01《《2);//开启校准 while(ADC1-》CR2 & (0x01《《2));//等待校准完成 ADC1-》CR2 |=(0x01《《22);//开始转换规则通道 } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:23 , Processed in 0.925117 second(s), Total 96, Slave 80 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号