MSPM0L1306例程学习-ADC部分(1)

MSPM0L1306例程学习笔记。
直接使用TI的官方例程,即MSPM0 SDK里边包含的例程。
准备工作:
1、需要下载并安装MSPM0 SDK: https://www.ti.com.cn/tool/cn/download/MSPM0-SDK
2、会例程的导入。例如在CCS中导入例程。

MCU使用的是MSPM0L1306, 对于ADC部分,有10个例程,分成6篇文章。所有例程的代码也添加了注释,可直接拷贝到原文件中使用:
mspm0sdk中的ADC例程

例程理解

ADC的转换有多种工作模式,从最简单的单通道单次转换开始入手,即对特定的某个输入通道,进行一次电压的采样,并且读取ADC的转换结果。

标黑的三个例程,代码结构几乎相同,所使用的参考电压源不同而已。都是对ADC转换的结果,与参考电压的一半进行比较,根据判断结果点亮对应的LED灯。

  • adc12_single_conversion :单通道单次转换,直接使用AVCC作为参考电压源;
  • adc12_single_conversion_vref_internal:单通道单次转换,使用内部参考电压源,配置VREF为2.5V;
  • adc12_single_conversion_vref_external:单通道单次转换,使用外部参考电压源,需要外接参考电压到VREF+引脚;

从这三个例程入手,代码结构如下:
在这里插入图片描述
在这里插入图片描述

详细代码注释如下,因为代码都涉及到sysconfig图形配置工具,所以把对应的内容也一并截图上传。

  • GPIO部分,相同的配置,配置了一个GPIO口,用于点亮LED灯操作;
  • ADC部分,也基本相同的配置,时钟,分频;单通道单次转换,使用MEM0,自动采样,软件触发;
  • 在参考电压的选择上,是最大的区别,3个例程分别选择了不同的参考电压,如果选择了vref,还需要在vref模块中对电压进行配置。

adc12_single_conversion

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
详细代码如下:

/*
 * ADC转换的SDK例程
 * 文件名:adc12_single_conversion.c
 *
 * 描述:
 *   1、单通道单次转换、自动采样模式、软件触发;
 *   2、使用MEM0,通道0(PA27),直接用电源电压作为参考电压
 *   3、PA0引脚连接有LED灯;
 *   4、对通道0进行AD采样和转换,根据转换结果进行LED的指示操作:
 *     a.当转换结果小于0x7ff时,LED灭; 否则,点亮LED
 *
 * 操作描述:
 *   1、下载程序,全速运行;
 *   2、引脚PA27通过杜邦线连接VCC或GND
 *     a. 连接到VCC时,红色LED点亮;
 *     b. 连接到GND时,红色LED熄灭.
 * 注意事项:
 *   1、如果使用的是LP-MSPM0L1306, PA27引脚默认通过跳线帽连接三色LED2;
 *
 * 思考:
 *   给输入引脚上施加一个电压,看测量值是否符合预取结果。
 *
 * 修改:
 *   基于官方的sdk例程增加注释,xie_sx@126.com
 */

#include "ti_msp_dl_config.h"

//ADC转换完成的标识,在ADC的中断里设为有效;
volatile bool gCheckADC;

volatile uint16_t gAdcResult;

int main(void)
{
   
    //初始化配置
    SYSCFG_DL_init();

    //使能中断
    NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN);

    //标志位清零
    gCheckADC = false;

    while (1)
    {
   
        //软件开启ADC转换,SC=1
        DL_ADC12_startConversion(ADC12_0_INST);

        //等待转换完成
        //如果标志位gCheckADC不是true,程序在while循环等待
        //gCheckADC=true后,程序继续往下执行
        while (false == gCheckADC)
        {
   
        
良心货,有学习MSP430程序的网友拿去,各种例题,源码,可以直接拿来用的例程。 程序目录: MSP430F149+1602数码显示和实时时钟 MSP430F149,IAR,ADC采样之后对太阳点光源进行跟踪 MSP430F149 AD7705程序 MSP430 BH1750测量光强(已测试) Launch Pad NOKIA5110 Clock 使用MSP430单片机控制超声波测距并使用5110显示 基于MSP430的MP3 源码+路图+PCB+字库+SD卡 基于MSP430单片机控制坦克打靶C语言源程序代码 MSP430F149 GSM基本控制,初始化接收短息,解读短信 ADXL重力加速度传感器实现计步器程序(利用MSP430F135实现) 利用MSP430的PWM功能实现机的调速(可实现精确调速) TI公司MSP430芯片评估板lantchpad的容式触摸板的源码 基于MSP430F149单片机的1602程序代码 基于MSP430F149单片机的nRF24L01无线通信程序 基于MSP430F149单片机的串口0驱动程序 基于MSP430F149单片机的温湿度传感器SHT1X驱动程序 基于MSP430F149的12864的显示图片 基于MSP430F149的AD转换,在液晶1602上显示 基于MSP430F149的触摸手写程序 基于MSP430F149为主芯片下的红外线解码资料源程序 基于MSP430F249的GPS+GPRS车载GPS 基于MSP430单片机的子式互感器采集器的程序 基于MSP430单片机的智能表 基于MSP430的触摸屏校正程序 基于MSP430的温度传感器DS18B20对温度的检测和显示 基于单片机MSP430的DS1302的时钟芯片编程,实现时钟显示 利用MSP430实现的超低功耗触摸屏 使用MSP430低功耗微处理器制作的斜度计(开发平台是IAR) 通过MSP430(149)单片机控制DHT11温湿度传感器 MSP430F149单片机与RF2401硬件SPI无线通信 MSP430f149控制LCD12864显示汉字、字母 MSP430F149通过SPI接口控制ADS1216 MSP430F449实现频率测量,呼吸灯,自己写的,调试OK MSP430x13x, MSP430F14x, MSP430F15x, MSP430F16x Code Examples MSP430x14x读写FM25L256程序 MSP430x14x模糊逻辑马达控制-源程序,已通过测试 MSP430单片机短息收发程序 MSP430平台 AM2301测量光强(已测试) MSP430热偶开发程序,高精度测量,带标定 MSP430热阻开发,高精度测量,带标定,修正 MSP430小车解决方案含Protel和源代码 MSP430与指纹识别
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HappyShengxiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值