这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » TI » 【MSP焕新大作战】课程1+任务1+RGB三色灯循环闪烁

共2条 1/1 1 跳转至

【MSP焕新大作战】课程1+任务1+RGB三色灯循环闪烁

工程师
2024-05-28 23:09:51     打赏

0. 环境搭建

(1) 安装MSPM0 SDK, 使用的版本是mspm0_sdk_2_00_00_03,ti 的sdk 做的非常完善,开发起来很方便。

(2) 安装sysconfig_1.20.0, 主要来配置引脚。

(3) 安装ccs ti 开发环境,使用的版本是ccs1271 IDE, 可直接在工程中使用sysconfig.

 

1. 硬件原理

 

主控使用的是:MSPM0L1306,64KB 闪存、4KB SRAM、12 位 ADC、比较器和 OPA 的 32MHz Arm® Cortex®-M0+ MCU, 32个引脚。

 

使用的官方的开发板LP-MSPM0L1306,已经集成了烧录器,使用起来非常方便。

LP-MSPM0L1306 LaunchPad™ 开发套件是基于 MSPM0L1306 的易用型评估模块 (EVM),包含在 MSPM0L1306 M0+ MCU 平台上开始开发所需要的全部资源,包括用于编程、调试和能量测量的板载调试探针。该板包含三个按钮、两个 LED(其中一个是 RGB LED)、模拟温度传感器和光传感器。

 

开发板资料链接:https://www.ti.com.cn/tool/cn/LP-MSPM0L1306

 

led 通过3个gpio 引脚 PA13(GREEN) PA26(RED) PA27(BLUE) 通过拉电流的方式控制RGB LED 。原理图如下:

原理图.png

 

 

2. 关键软件代码

直接导入空的例程,路径,然后在这个基础上进行开发。

F:\ti\mspm0_sdk_2_00_00_03\examples\nortos\LP_MSPM0L1306\driverlib\empty\ticlang配置相关属性。主要是指定对应引脚,及引脚方向为输出。

 ide.pngsdk.png

烧录程序直接点FLASH.

flash.png

 

要实现3个led 循环闪烁,主要控制逻辑就是一个灯亮一定时间,其余灯保持熄灭状态,然后循环往复。

 

代码如下:

#include "ti_msp_dl_config.h"

#define LED_RED_PORT_PORT              (GPIOA)

#define LED_RED_PORT_LED_RED_PIN_PIN   (DL_GPIO_PIN_26)

#define LED_GREEN_PORT_PORT             (GPIOA)

#define LED_GREEN_PORT_LED_GREEN_PIN_PIN   (DL_GPIO_PIN_13)

#define LED_BLUE_PORT_PORT              (GPIOA)

#define LED_BLUE_PORT_LED_BLUE_PIN_PIN   (DL_GPIO_PIN_27)

int main(void)

{

    SYSCFG_DL_init();

 

    while (1) {

            DL_GPIO_setPins(LED_RED_PORT_PORT,  LED_RED_PORT_LED_RED_PIN_PIN); //PA0= 1;

            DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_GREEN_PORT_LED_GREEN_PIN_PIN | LED_BLUE_PORT_LED_BLUE_PIN_PIN); //PA0= 0;

            delay_cycles(48000000);

            DL_GPIO_setPins(LED_RED_PORT_PORT,  LED_GREEN_PORT_LED_GREEN_PIN_PIN); //PA0= 1;

            DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_LED_RED_PIN_PIN | LED_BLUE_PORT_LED_BLUE_PIN_PIN); //PA0= 0;

            delay_cycles(48000000);

            DL_GPIO_setPins(LED_RED_PORT_PORT,   LED_BLUE_PORT_LED_BLUE_PIN_PIN); //PA0= 1;

            DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_LED_RED_PIN_PIN | LED_GREEN_PORT_LED_GREEN_PIN_PIN); //PA0= 0;

            delay_cycles(48000000);

 

    }

}

 

3. 实现效果

蓝灯亮。

1716907078879.jpg

绿灯亮

1716907090893.jpg

红灯亮

 1716907090904.jpg

 

4. 注意事项

 

在第一次使用时,提示更新烧录器,直接更新即可。

firmware.png



高工
2024-05-29 17:01:55     打赏
2楼

谢谢分享


共2条 1/1 1 跳转至

回复

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