一、功能需求
点亮RGB,实现红色、绿色、蓝色的循环显示
二、实现分析
这个任务应该是比较简单的,在课程1第一讲里,已经学习了使用GPIO驱动红色LED。虽然是RGB三色灯,可以看作是 Red、Green、Blue三种颜色的LED各一个,单个灯的点亮,与第一讲里的步骤并无大的差别,只要注意GPIO引脚不同即可。
三色灯的循环,课程ppt里也讲的很清楚了,同一个时间只让RGB中的一个亮,其他2个灯灭掉。延时(比如0.5s)后,再关当前灯并开下一个灯;延时和切换灯3次后,依次往复。
Ø Ø红灯亮,(PA26=1) && (PA13=0) && (PA27=0)
Ø Ø绿灯亮,(PA26=0) && (PA13=1) && (PA27=0)
Ø Ø蓝灯亮,(PA26=0) && (PA13=0) && (PA27=1)
三、硬件分析
查看电路图,从手册里截取LED灯部分,如下图
可见, RGB三色灯使用的GPIO脚,依次为 PA26 、PA13和PA27。RGB三个灯一端共地,GPIO端输出ON时LED点亮。
四、软件实现
打开Keil5环境,从<sdk_path>\examples\nortos\LP_MSPM0L1306\driverlib目录下拷贝空的empty工程模板文件夹 ,另存一份为新的命名为 RGB_LED,其中<sdk_path>就是你的sdk安装路径,比如我的是 C:\ti\mspm0_sdk_2_00_00_03\ 。
进入RGB_LED文件夹下的 keil目录,找到 后缀为 uvprojx 的工程文件,双击用 keil5-MDK 打开空白模板工程。首先编译一下,0 Error 0 warning 没有问题,就可以开始正式的代码编写了。
(1)SysConfig配置硬件外设
如果你按照sdk的文档,配置过"让keil和 sysconfig协同工作"了,就可以从菜单 tools-->SysConfig v1.9.0 打开 图形界面如下:
这里打开的时候,会出现如下图的提示。解决办法是,先双击keil中的 empty. syscfg 配置文件,再从tools菜单启动 SysConfig工具,就不会有提示了,且SysConfig工具自动将配置项内容写入我们打开的 empty.syscfg 文件中。
SysConfig工具中,配置好3个GPIO针,分别为PA26 、PA13和PA27,如下图所示
完成后Ctrl+s 保存,并点击keil的编译按钮。不出意外,会编译新产生的 empty.syscfg文件, 并生成新的 ti_msp_dl_config.h 和 ti_msp_dl_config.c 文件。头文件和c文件中,自动帮我们生成了一些必要的定义,以及最重要的 SYSCFG_DL_init() 函数。
(2)代码中实现 3个LED色灯切换循环
main函数中实现3个灯的切换循环,比较简单,直接上代码:
代码就这么点。编译,下载,看看效果正确否。
五、结果验证
功能无误,效果如下
完结,撒花~ #
附上视频:
https://www.bilibili.com/video/BV1vt421c76c/