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

共2条 1/1 1 跳转至

课程一、任务一

菜鸟
2024-05-06 22:42:36     打赏

  课程一:点亮RGB,实现红色、绿色、蓝色的循环显示。任务1:图文帖子。

  课程1所要实现的目标:点亮RGB,实现红色、绿色、蓝色的循环显示。该目标为课程实验点亮单色灯的进阶问题。

  课程1中我们学习了普通IO口的输出控制,输入按键采集的实践,以及PWM控制方法。通过本次课程的学习我们可以知道该开发板板载了一个三色LED灯,所以可以通过对开发板编程完成本课程任务目标。我们先预定循环顺序为绿色(G)-红色(H)-蓝色(B),间隔为1s。实现方法为纯编程实现。  

  首先通过原理图查找关于LEDs的原理图:

图片1.png

确定关于三种颜色灯的引脚为PA13,PA26,PA27。三灯共同接地,当引脚置高电平时即可点亮LED灯泡。

  本次课程我采用ccs theia作为开发平台。同时使用mspm0 sdk:

图片2.png

我们通过file窗口选择import project(s),点击browse,选择mspm0 SDK,找到empty范例,点击选择该文件夹。最后选择ticlang模式。

图片3.png

点击empty.sysfg

图片4.png

  创建RGB组,在组中分别创建PIN_B,PIN_R,PIN_G。设置output输出,设置引脚PA13,PA26,PA27。其他设置保持默认(any)。

  编译后开始代码操作

宏定义:

图片5.png

点亮led代码: 

int main(void)
{
    SYSCFG_DL_init();
 
    while (1) {
        DL_GPIO_setPins(RGB_PORT, RGB_PIN_G_PIN);//点亮绿灯
        DL_GPIO_clearPins(RGB_PORT, RGB_PIN_R_PIN |
                                    RGB_PIN_B_PIN);//熄灭红灯和蓝灯
        delay_cycles(32*1000*1000);//延时一秒
        DL_GPIO_setPins(RGB_PORT, RGB_PIN_R_PIN);//点亮红灯
        DL_GPIO_clearPins(RGB_PORT, RGB_PIN_G_PIN |
                                    RGB_PIN_B_PIN);//熄灭绿灯和蓝灯
        delay_cycles(32*1000*1000);//延时一秒
        DL_GPIO_setPins(RGB_PORT, RGB_PIN_B_PIN);//点亮蓝灯
        DL_GPIO_clearPins(RGB_PORT, RGB_PIN_G_PIN |
                                    RGB_PIN_R_PIN);//熄灭绿灯和红灯
        delay_cycles(32*1000*1000);//延时一秒
        DL_GPIO_clearPins(RGB_PORT, RGB_PIN_G_PIN |
                                    RGB_PIN_R_PIN |
                                    RGB_PIN_B_PIN);//熄灭所有灯
        delay_cycles(32*1000*1000);//延时一秒
    }//循环以上操作
}

显示展示:

图片7.jpg图片6.jpg

图片8.jpg图片9.jpg


专家
2024-05-07 06:33:08     打赏
2楼

学习一下谢谢


共2条 1/1 1 跳转至

回复

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