新闻中心

EEPW首页 > 模拟技术 > 设计应用 > STM32的ADC及内部温度传感器的使用

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

作者:时间:2012-03-27来源:网络收藏

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

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

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

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

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

  4.DMA配置(下例中暂不使用)

  5.ADC初始化

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

  void ADC_GPIO_Init()

  {

  GPIO_InitTypeDef GPIO_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);

  GPIO_DeInit(GPIOA);

  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;

  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;//设为模拟输入

  GPIO_Init(GPIOA, GPIO_InitStructure);

  }

  void ADC_configuration()

  {

  ADC_InitTypeDef ADC_InitStructure;

  ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//独立模式


上一页 1 2 3 下一页

关键词: STM32 ADC 内部温度 传感器

评论


相关推荐

技术专区

关闭