论坛» 企业专区» TI

课程1-任务1+2:认识TIMSPM0以及GPIO操作

高工
2024-04-30 14:04 1楼

MSPM0L1306 LaunchPad™开发套件用用于评估MSPM0L130x混合信号微控制器开发板。该套件包含在MSPM0L1xx上开始开发所需的一切微控制器平台,包括用于编程、调试和能量的板载调试探针测量。该板还具有板载按钮和LED,可为简单用户快速集成接口、板载热敏电阻、光传感器和RGB LED。

开发板靓照:

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=5269371684.jpg

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™支持论坛提供的在线支持。

0.jpg

资源:

•带有外部编程选项的板载XDS110调试探头

•EnergyTrace技术可用于超低功率调试

•2个按钮、1个LED和1个RGB LED,用于用户交互

•热敏电阻电路

•光传感器电路

•ADC输入的RC滤波器(默认情况下未填充)

•支持GPIO和XDS110的BSL调用

•通过USB到PC的反向通道UART


芯片MSPM0L1306介绍:MSPM0L134x 和MSPM0L130x微控制器(MCU)属于MSP高度集成的超低功耗32MSPM0 MCU系列,该系列基于增强型Arm® Cortex®-M0+内核平台工作频率最高可达32MHz。这些低成本MCU提供高性能模拟外 设集成支持-40°C125°C的工作温度范围并在1.62V3.6V的电源电压下运行。MSPM0L134xMSPM0L130x器件提供高达64KB的嵌入式闪存程序存储器和高达4KBSRAM。这些MCU包含精度高达±1.2%的高速片上振荡器无需外部晶体。其他特性包括3通道DMA16位和32CRC加速以及各种高性能模拟外设例如一个具有可配置内部电压基准的121.68MSPS ADC、一个具有内置基准DAC的高速比较器、两个具有可编程增益的零漂移零交叉运算放大器、一个通用放大器和一个片上温度传感器。 这些器件还提供智能数字外设例如四个16位通用计时器、一个窗口化看门狗计时器和各种通信外设包括两个UART、一个SPI和两个I 2C)。这些通信外设为LINIrDADALIManchesterSmart CardSMBusPMBus提供协议支持。TI MSPM0系列低功耗MCU包含具有不同模拟和数字集成度的器件可让客户找到满足其工程需求的MCU。此架构结合了多种低功耗模式并经过优化可在便携式测量应用中延长电池寿命。


Arm®32Cortex®-M0+ CPU频率高达

32MHz

工作特性

– 工作温度范围40°C125°C

– 宽电源电压范围1.62V3.6V

存储器

– 高达64KB的闪存

– 高达4KBSRAM

高性能模拟外设

– 一个具有总计多达10个外部通道的12

1.68Msps模数转换器(ADC)

– 可配置的1.4V2.5V内部ADC电压基准

(VREF)

– 两个零漂移、零交叉斩波运算放大器(OPA)

0.5µV/°C漂移具有斩波

6pA输入偏置电流1

• 集成可编程增益级(1-32x)

– 一个通用放大器(GPAMP)

– 一个具有8位基准DAC的高速比较器(COMP)

32ns传播延迟

• 低功耗模式低至<1µA

ADCOPACOMPDAC之间的可编程模拟

连接

– 集成温度传感器

经优化的低功耗模式

– 运行71µA/MHz (CoreMark)

– 停止4MHz时为151µA32kHz时为44µA

– 待机32kHz 16位计时器运行时为1.0µA

SRAM/寄存器完全保留32MHz时钟唤醒时间

3.2µs

– 关断61nA具有IO唤醒能力

智能数字外设

3通道DMA控制器

3通道事件结构信号系统

– 四个16位通用计时器每个计时器具有两个捕

/比较寄存器支持待机模式下的低功耗运

总共支持8PWM通道

– 窗口化看门狗计时器

增强型通信接口

– 两个UART接口一个支持LINIrDA

DALISmart CardManchester并且都支持待

机模式下的低功耗运行

– 两个I2C接口一个支持FM+ (1 Mbit/s)两个

都支持SMBusPMBus和从停止状态唤醒

– 一个SPI支持高达16Mb/s的速率

时钟系统

– 精度为±1.2%的内部4MHz32MHz振荡器

(SYSOSC)

– 精度为±3%的内部32kHz低频振荡器

(LFOSC)

数据完整性

– 循环冗余校验器CRC-16CRC-32

灵活的I/O功能

– 多达28GPIO

– 两个具有失效防护保护功能的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)

系列成员另请参阅器件比较

MSPM0L13x38KB闪存、2KB RAM

MSPM0L13x416KB闪存、2KB RAM

MSPM0L13x532KB闪存、4KB RAM

MSPM0L13x664KB闪存、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




高工
2024-04-30 15:12 3楼

谢谢分享

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]