本次使用的开发板是TI的LP-MSPM0L1306(32-bit ARM Cortex-M0+ )开发板。
【实现目标】
点亮RGB,实现红色、绿色、蓝色的循环显示
【硬件原理】
硬件原理图如下图所示 MSPM0L1306SRHB原理图.pdf。共阴极RGB灯珠的阳极分别通过跳线帽J3,J12,J13接在PA13、PA26、PA27的管脚上。因此配置GPIO的PA13、PA26、PA27管脚即可。
开发板位置如下图所示。
【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
点击 Finish
2、打开 syscfg ,如图所示,配置 RGB 的三个 GPIO 管脚:
注:根据硬件图可以看出 GPIO 输出高电平即会被点亮,因此在配置时设为低电平,就不需要在循环开始时进行置零(熄灭)了。
在 xxx.c 文件下写入循环
循环点亮思路: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、编译程序,烧写进开发板
此时开发板上的 RGB 就可以实现交替闪烁的效果了。