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

本文介绍了如何在STM32L151上使用ADC进行温度测量,通过初始化RCC、GPIO、ADC以及启用内部温度传感器,实现ADC的DMA中断方式。提供了ADC初始化和读取ADC值的代码示例,还提到了温度计算公式,以获得温度值。
摘要由CSDN通过智能技术生成

ADC的用途范围可以说是非常的广泛~甚至是可以说差不多必不可少了~大部分单片机嵌入式系统ADC都基本要用到~包括牛人CZZ也一样!

STM32自带1-3个ADC模块,采样精度达到了12位,比起当年使用的AVR单片机的10位来说,上了个小档次了~本测试程序采用了ADC

DMA的中断方式,这样CPU就可以把ADC的任务交给DMA这个勤劳肯干的部下了,当DMA完成了一次任务之后会产生中断,告诉CPU可以来查收结果了!DMA也是在嵌入式系统中非常常用的,例如在LCD中,数据拷贝中等。。。在STM32F103RBT6中,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_Mo

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值