在这个活动任务中,我们将通过控制RGB灯来实现红色、绿色、蓝色的循环显示。我们需要硬件设备如下:
RGB灯模块:RGB灯模块由红、绿、蓝三种颜色的LED灯组成,通过控制各个LED的亮度来调节颜色。
MSPM0L1306
shiyanxi原理图如上
如图所示:RGB三灯分别由PA27,PA26,PA13三个引脚控制实际芯片我们也可以看出PA7,PA26,PA13使用跳帽连接LED2灯
软件部分如下:
1环境配置:我们此次采用CCS theia作为编译软件,首先在sysconfig里选定为MSPM0L1306系列
然后在sdk里面导入empty例程,选择ticlang文件夹,导入文件打开文件中empty.c文件
以上给单片机上电后,环境配置完毕
2.下面开始代码编译
因为led的引脚有三个,所以我们配置固件库进行操作。
代码
int main(void) {
SYSCFG_DL_init();
DL_GPIO_clearPins(GPIO_PORT , GPIO_LED_2_PIN);
DL_GPIO_setPins(GPIO_PORT , GPIO_LED_1_PIN |
GPIO_LED_3_PIN |
GPIO_LED_2_PIN);
DL_GPIO_clearPins(GPIO_PORT , GPIO_LED_1_PIN |GPIO_LED_2_PIN | GPIO_LED_3_PIN);
while (1) {
// 点亮红色LED
delay_cycles(DELAY);
DL_GPIO_clearPins(GPIO_PORT , GPIO_LED_1_PIN);
DL_GPIO_setPins(GPIO_PORT , GPIO_LED_2_PIN);
// 灭掉红色,点亮绿色
delay_cycles(DELAY);
DL_GPIO_clearPins(GPIO_PORT , GPIO_LED_2_PIN);
DL_GPIO_setPins(GPIO_PORT , GPIO_LED_3_PIN);
// 灭掉绿色,点亮蓝色
delay_cycles(DELAY);
DL_GPIO_clearPins(GPIO_PORT ,GPIO_LED_3_PIN);
DL_GPIO_setPins(GPIO_PORT , GPIO_LED_1_PIN);
}
}
实验现象: