这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » TI » 课程1/任务1/RGB循环显示

共4条 1/1 1 跳转至

课程1/任务1/RGB循环显示

菜鸟
2024-05-04 11:37:01     打赏

本次使用的开发板是TILP-MSPM0L130632-bit ARM Cortex-M0+ )开发板。


【实现目标】

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


【硬件原理】

硬件原理图如下图所示 MSPM0L1306SRHB原理图.pdf。共阴极RGB灯珠的阳极分别通过跳线帽J3,J12,J13接在PA13、PA26、PA27的管脚上。因此配置GPIO的PA13、PA26、PA27管脚即可。

1714574950193443.png

开发板位置如下图所示。

1714575670505622.png


【IDE编译步骤】

使用官方推荐 IDE:CCSTUDIO — Code Composer Studio 集成式开发环境 (IDE);

1、Import 导入一个 LP_MSPM0L1306 的空白工程;

从安装的 mspm0_sdk 的路径加载空白工程,路径如下:X:\ti\mspm0_sdk_2_00_00_03\examples\nortos\LP_MSPM0L1306\driverlib\empty\ticlang

1714576580187213.png

点击 Finish

1714576825462593.png

2、打开 syscfg ,如图所示,配置 RGB 的三个 GPIO 管脚:

注:根据硬件图可以看出 GPIO 输出高电平即会被点亮,因此在配置时设为低电平,就不需要在循环开始时进行置零(熄灭)了。

1714578835783778.png

xxx.c 文件下写入循环

1714793654446446.png

循环点亮思路:RED灯亮(其他灯灭)→延时→GREEN灯亮(其他灯灭)→延时→BLUE灯亮(其他灯灭);

l  RED灯亮(其他灯灭):由于配置管脚时已将对应GPIO置零,因此只需点亮RED即可;

l  延时;

l  GREEN灯亮(其他灯灭):RED灯灭、GREEN灯亮;

l  延时;

l  BLUE灯亮(其他灯灭):GREEN灯灭、BLUE灯亮

l  延时;

l  最后将BLUE灯灭;

int main(void)
 {
     SYSCFG_DL_init();
 
     while (1) {
         //开启RED
         DL_GPIO_setPins(RGB_PORT, RGB_PIN_R_PIN); //PA26= 1;
         //延时
         delay_cycles(16000000);
         //关闭RED
         DL_GPIO_clearPins(RGB_PORT, RGB_PIN_R_PIN); //PA26= 0;
         //开启GREEN
         DL_GPIO_setPins(RGB_PORT, RGB_PIN_G_PIN); //PA13= 1;
         //延时
         delay_cycles(16000000);
         //关闭GREEN
         DL_GPIO_clearPins(RGB_PORT, RGB_PIN_G_PIN); //PA13= 0;
         //开启BLUE
         DL_GPIO_setPins(RGB_PORT, RGB_PIN_B_PIN); //PA27= 1;
         //延时
         delay_cycles(16000000);
         //关闭BLUE
         DL_GPIO_clearPins(RGB_PORT, RGB_PIN_B_PIN); //PA27= 0;
     }

4、编译程序,烧写进开发板

1714793752523001.png

此时开发板上的 RGB 就可以实现交替闪烁的效果了。




关键词: MSPM0系列开发板     RGB实现     CCS(IDE)    

工程师
2024-05-04 14:26:47     打赏
2楼

666



高工
2024-05-05 10:52:43     打赏
3楼

谢谢分享


专家
2024-05-05 21:11:17     打赏
4楼

谢谢分享


共4条 1/1 1 跳转至

回复

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