一、功能需求
点亮RGB,实现红色、绿色、蓝色的循环显示
二、实现分析
这个任务应该是比较简单的,在课程1第一讲里,已经学习了使用GPIO驱动红色LED。虽然是RGB三色灯,可以看作是 Red、Green、Blue三种颜色的LED各一个,单个灯的点亮,与第一讲里的步骤并无大的差别,只要注意GPIO引脚不同即可。
三色灯的循环,课程ppt里也讲的很清楚了,同一个时间只让RGB中的一个亮,其他2个灯灭掉。延时(比如0.5s)后,再关当前灯并开下一个灯;延时和切换灯3次后,依次往复。
三、硬件分析
查看电路图,从手册里截取LED灯部分,如下图
可见, RGB三色灯使用的GPIO脚,依次为 PA26 、PA13和PA27。RGB三个灯一端共地,GPIO端输出ON时LED点亮。
四、软件实现
(1)SysConfig配置硬件外设
SysConfig工具中,配置好3个GPIO针,分别为PA26 、PA13和PA27,如下图所示
绿色灯PA13
红色灯PA26
蓝色灯PA27
配置完成之后点击保存
保存到当前工程中,重新编译,编译会产生新的的 empty.syscfg文件, 并生成新的 ti_msp_dl_config.h 和 ti_msp_dl_config.c 文件。
(2)代码中实现 3个LED色灯切换循环
自己写了一个delay_ms()函数,以用来延迟
五、结果验证
功能无误,效果如下
完结,撒花~ #
附上视频:【任务一】 https://www.bilibili.com/video/BV11DKfeoE2U/?share_source=copy_web&vd_source=3969f4161d002b07aea10c26424c9e9c