这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » TI » 【MSP焕新大作战】课程一+任务一+RGB【一起玩转TIMSPM0系列MCU】

共2条 1/1 1 跳转至

【MSP焕新大作战】课程一+任务一+RGB【一起玩转TIMSPM0系列MCU】

菜鸟
2024-07-10 23:25:55     打赏

点亮RGB,实现红色、绿色、蓝色的循环显示

 

一、硬件原理

本课程主要内容为使用TI MSMP1306开发板,实现点亮RGB,实现红色、绿色、蓝色的循环显示。

具体的原理图如下所示:

使用灌电流方式,对LED灯进行控制,以0针脚为例,置1时,LED熄灭,对0阵脚置0时,LED点亮。

图片1.png


其中三个LED针脚的具体原理图如下图所示:

图片2.png

在进行准备过程中,需要先下载CCS SDK、TI-sysconfig及CCS12.7.1.00001_win64版本。

步骤分别是新建工程、分别进行sysconfig配置、选择example例程,比较头疼的问题是首次新建工程,未发现sysconfig文件,随后再此新建工程,并与群友进行讨论,发现应采用包含sysconfig文件的SKD库样例。

随后发现,在进行sysconfig配置时,要先进入ccs projects,后来发现从file及右键均可进入。如图

图片3.png


二、关键软件代码

在进行代码编写过程中,主要犯错包括:

宏定义define部分,括弧编写错误,后来进行修改,终于编译通过:

具体过程为:

首先使用宏定义对红色、蓝色、绿色的亮灭进行定义,随后,在主程序中,分别调用红蓝绿三色的亮灯,并对三个灯的亮灯时间进行延时控制,最终经过调试,最终实现了预定的功能。

#define LED_RED_1   DL_GPIO_setPins(GPIOA,DL_GPIO_PIN_26) //红灯亮
#define LED_RED_0   DL_GPIO_clearPins(GPIOA,DL_GPIO_PIN_26)//红灯灭
#define LED_GREEN_1 DL_GPIO_setPins(GPIOA,DL_GPIO_PIN_13)//绿灯亮
#define LED_GREEN_0 DL_GPIO_clearPins(GPIOA,DL_GPIO_PIN_13)//绿灯灭
#define LED_BLUE_1  DL_GPIO_setPins(GPIOA,DL_GPIO_PIN_27)//蓝灯亮
#define LED_BLUE_0  DL_GPIO_clearPins(GPIOA,DL_GPIO_PIN_27)//蓝灯灭
 
 
#include <ti/driverlib/m0p/dl_interrupt.h>
#include "ti_msp_dl_config.h"
 
int main(void)
{
    SYSCFG_DL_init();
    while (1)
    {
       LED_RED_1;
       LED_GREEN_0;
       LED_BLUE_0;
       delay_cycles(32000000);//红灯亮,然后延时
       LED_RED_0;
       LED_GREEN_1;
       LED_BLUE_0;
       delay_cycles(32000000);//绿灯亮,然后延时
       LED_RED_0;
       LED_GREEN_0;
       LED_BLUE_1;
       delay_cycles(32000000);//绿灯亮,然后延时
    }
}

 

三、实现结果

以上代码烧录后,结果如下:

 1.jpg

2.jpg3.jpg以上为各灯点亮结果。


高工
2024-07-11 09:41:04     打赏
2楼

谢谢分享


共2条 1/1 1 跳转至

回复

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