保温杯厂家
免费服务热线

Free service

hotline

010-00000000
保温杯厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

STM32的ADC及内部温度传感器的使用

发布时间:2020-06-30 19:08:48 阅读: 来源:保温杯厂家

STM32自带1-3个ADC模块,采样精度达到了12位,比起当年使用的AVR单片机的10位来说,上了个小档次了~本测试程序采用了ADC DMA的中断方式,这样CPU就可以把ADC的任务交给DMA这个勤劳肯干的部下了,当DMA完成了一次任务之后会产生中断,告诉CPU可以来查收结果了!DMA也是在嵌入式系统中非常常用的,例如在LCD中,数据拷贝中等。。。在STM32F103RBT6中,ADC1和ADC2共用一组管脚

总体编程思路和顺序如下:

1.初始化RCC相关,使得系统有时钟,功能模块如ADC、DMA有时钟。

IO相关初始化,比如常用的指示灯,ADC的管家要设置为输入等。

IC向量中断的配置,因为这里使用了DMA中断和中断服务程序编写(下例中暂不使用)

A配置(下例中暂不使用)

C初始化

以下是参考代码,使用ADC1的IN0脚

void ADC_GPIO_Init()

{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);

GPIO_DeInit(GPIOA);

GPIO_IO_Pin=GPIO_Pin_0;

GPIO_IO_Mode=GPIO_Mode_AIN;//设为模拟输入

GPIO_Init(GPIOA, GPIO_InitStructure);

}

void ADC_configuration()

{

ADC_InitTypeDef ADC_InitStructure;

ADC_C_Mode=ADC_Mode_Independent;//独立模式

滨州西服订制

哈尔滨定做工服

莱芜工服订做

河北定制西装