MSPM0L1306 LaunchPad™开发套件用用于评估MSPM0L130x混合信号微控制器开发板。该套件包含在MSPM0L1xx上开始开发所需的一切微控制器平台,包括用于编程、调试和能量的板载调试探针测量。该板还具有板载按钮和LED,可为简单用户快速集成接口、板载热敏电阻、光传感器和RGB LED。
开发板靓照:
MSPM0L1306是Arm®32位Cortex®-M0+CPU,频率高达32MHz。设备功能64KB嵌入式闪存与4KB片上RAM相结合。集成的高性能模拟12位1-Msps SAR ADC、零漂移和零交叉斩波运算放大器(OPA)以及通用放大器(GPAMP)等外围设备可帮助用户设计系统。40针BoosterPack™插入式模块头简化了快速原型设计,支持广泛的可用BoosterPack插件模块的数量。您可以快速添加无线连接、图形显示器、环境传感等等。设计您自己的BoosterPack插件模块或选择TI和第三方开发人员已经提供了许多。还提供免费软件开发工具,如TI的Code Composer Studio™IDE、IAR EmbeddedWorkbench™IDE和Keil®µVision®IDE。Code Composer Studio IDE支持EnergyTrace™技术当与MSPM0L1306 LaunchPad开发套件配对时。有关LaunchPad的更多信息开发工具包、支持的BoosterPack插件模块和可用资源可以在TI上找到LaunchPad™开发工具包门户网站。快速入门并在MSPM0软件中查找可用资源开发工具包(SDK),请访问TI云开发区。MSPM0 MCU还得到广泛的支持在线辅助资料、MSP Academy培训以及通过TI E2E™支持论坛提供的在线支持。
资源:
•带有外部编程选项的板载XDS110调试探头
•EnergyTrace技术可用于超低功率调试
•2个按钮、1个LED和1个RGB LED,用于用户交互
•热敏电阻电路
•光传感器电路
•ADC输入的RC滤波器(默认情况下未填充)
•支持GPIO和XDS110的BSL调用
•通过USB到PC的反向通道UART
芯片MSPM0L1306介绍:MSPM0L134x 和MSPM0L130x微控制器(MCU)属于MSP高度集成的超低功耗32位MSPM0 MCU系列,该系列基于增强型Arm® Cortex®-M0+内核平台,工作频率最高可达32MHz。这些低成本MCU提供高性能模拟外 设集成,支持-40°C至125°C的工作温度范围,并在1.62V至3.6V的电源电压下运行。MSPM0L134x和MSPM0L130x器件提供高达64KB的嵌入式闪存程序存储器和高达4KB的SRAM。这些MCU包含精度高达±1.2%的高速片上振荡器,无需外部晶体。其他特性包括3通道DMA、16位和32位CRC加速器,以及各种高性能模拟外设,例如一个具有可配置内部电压基准的12位1.68MSPS ADC、一个具有内置基准DAC的高速比较器、两个具有可编程增益的零漂移零交叉运算放大器、一个通用放大器和一个片上温度传感器。 这些器件还提供智能数字外设,例如四个16位通用计时器、一个窗口化看门狗计时器和各种通信外设(包括两个UART、一个SPI和两个I 2C)。这些通信外设为LIN、IrDA、DALI、Manchester、Smart Card、SMBus和PMBus提供协议支持。TI MSPM0系列低功耗MCU包含具有不同模拟和数字集成度的器件,可让客户找到满足其工程需求的MCU。此架构结合了多种低功耗模式,并经过优化,可在便携式测量应用中延长电池寿命。
–Arm®32位Cortex®-M0+ CPU,频率高达
32MHz
•工作特性
– 工作温度范围:–40°C至125°C
– 宽电源电压范围:1.62V至3.6V
•存储器
– 高达64KB的闪存
– 高达4KB的SRAM
•高性能模拟外设
– 一个具有总计多达10个外部通道的12位
1.68Msps模数转换器(ADC)
– 可配置的1.4V或2.5V内部ADC电压基准
(VREF)
– 两个零漂移、零交叉斩波运算放大器(OPA)
•0.5µV/°C漂移,具有斩波
•6pA输入偏置电流1
• 集成可编程增益级(1-32x)
– 一个通用放大器(GPAMP)
– 一个具有8位基准DAC的高速比较器(COMP)
•32ns传播延迟
• 低功耗模式,低至<1µA
–ADC、OPA、COMP和DAC之间的可编程模拟
连接
– 集成温度传感器
•经优化的低功耗模式
– 运行:71µA/MHz (CoreMark)
– 停止:4MHz时为151µA,32kHz时为44µA
– 待机:32kHz 16位计时器运行时为1.0µA,
SRAM/寄存器完全保留,32MHz时钟唤醒时间
为3.2µs
– 关断:61nA,具有IO唤醒能力
•智能数字外设
–3通道DMA控制器
–3通道事件结构信号系统
– 四个16位通用计时器,每个计时器具有两个捕
捉/比较寄存器,支持待机模式下的低功耗运
行,总共支持8个PWM通道
– 窗口化看门狗计时器
•增强型通信接口
– 两个UART接口;一个支持LIN、IrDA、
DALI、Smart Card、Manchester并且都支持待
机模式下的低功耗运行
– 两个I2C接口;一个支持FM+ (1 Mbit/s),两个
都支持SMBus、PMBus和从停止状态唤醒
– 一个SPI,支持高达16Mb/s的速率
•时钟系统
– 精度为±1.2%的内部4MHz至32MHz振荡器
(SYSOSC)
– 精度为±3%的内部32kHz低频振荡器
(LFOSC)
•数据完整性
– 循环冗余校验器(CRC-16或CRC-32)
•灵活的I/O功能
– 多达28个GPIO
– 两个具有失效防护保护功能的5V容限开漏IO
•开发支持
–2引脚串行线调试(SWD)
•封装选项
–32引脚VQFN (RHB)
–32引脚VSSOP (DGS)
–28引脚VSSOP (DGS)
–24引脚VQFN (RGE)
–20引脚VSSOP (DGS)
–16引脚SOT(DYY)
–16引脚WQFN (RTR)
•系列成员(另请参阅器件比较)
–MSPM0L13x3:8KB闪存、2KB RAM
–MSPM0L13x4:16KB闪存、2KB RAM
–MSPM0L13x5:32KB闪存、4KB RAM
–MSPM0L13x6:64KB闪存、4KB RAM
•开发套件与软件(另请参阅工具与软件)
–LP-MSPM0L1306 LaunchPad™开发套件
–MSP软件开发套件(SDK)
软件进行GPIO操作:
首先进行芯片资源配置:
代码编写:
芯片原理图:
#include "ti_msp_dl_config.h" /* This results in approximately 0.5s of delay assuming 32MHz CPU_CLK */ #define DELAY (26000000) //粗延时函数,微秒 void delay_us1(unsigned int time) { unsigned int i=0; while(time--) { i=10; //自己定义 while(i--) ; } } //毫秒级的延时 void delay_ms1(unsigned int time) { unsigned int i=0; while(time--) { i=12000; //自己定义 while(i--) ; } } int main(void) { /* Power on GPIO, initialize pins as digital outputs */ SYSCFG_DL_init(); /* Default: LED1 and LED3 ON, LED2 OFF */ DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN | GPIO_LEDS_USER_LED_3_PIN | GPIO_LEDS_USER_TEST_PIN); while (1) { DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN); delay_ms1(500); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN); delay_ms1(500); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN); delay_ms1(500); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN); delay_ms1(500); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN); delay_ms1(500); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN); delay_ms1(500); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); // 灭掉红色,点亮绿色 delay_ms(500); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN); // 灭掉绿色,点亮蓝色 delay_ms(500); DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN); DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN); } }
实现现象一下视频;
https://www.bilibili.com/video/BV17m411C7xc/?buvid=XY75B537C416E17A953A00A33EDB883CA28EB&is_story_h5=false&mid=Pw2Hq3t6IhfKj%2FPD%2Bao96g%3D%3D&plat_id=147&share_from=ugc&share_medium=android&share_plat=android&share_session_id=24675ff3-531b-4190-887e-92ff72a910f3&share_source=WEIXIN&share_tag=s_i×tamp=1714456421&unique_k=gZaBq1y&up_id=526937168