很高兴收到瑞萨电子提供的RA4M2开发板,这次帖子就专门用来说说专业点灯操作,实现各种花式的流水灯,可以十分方便地控制LED的各种状态,甚至多个LED组合控制,如跑马灯等。

打开原理图,可以看到3个LED灯,接口如下:
LED1-------P405
LED2-------P404
LED3-------P002
1。打开瑞萨Smart configurator

取名PWM_LED
2。选择芯片型号



3。

4。配置LED1,LED2,LED3



5。生成代码

打开KEIL工程

6。选择芯片型号

选择Jlink



7。编译工程,没有错误

8。设置串口



8。添加LED核心文件




下载烧录到板子,可以观察流水灯现象,通过按键SW1和SW2来进行种类切换,SW1+ ,SW2-,大家请看现象视频
流水灯核心功能函数代码
void lwbtn_keystst(void)
{
if(lwbtn_keys == 0)
{
printf("lwbtn_keys == 0\r\n");
cotLed_SetState(LED_0, COT_LED_OFF); // 设置灯灭
cotLed_SetState(LED_1, COT_LED_OFF); // 设置灯灭
cotLed_SetState(LED_2, COT_LED_OFF); // 设置灯灭
}
if(lwbtn_keys == 1)
{
printf("lwbtn_keys == 1\r\n");
cotLed_SetState(LED_0, COT_LED_OFF);
cotLed_SetState(LED_1, COT_LED_OFF);
cotLed_SetState(LED_2, COT_LED_OFF);
cotLed_Custom(LED_0, 100, -1900, 0);
}
else if(lwbtn_keys == 2)
{
printf("lwbtn_keys == 2\r\n");
cotLed_SetState(LED_0, COT_LED_OFF);
cotLed_SetState(LED_1, COT_LED_OFF);
cotLed_SetState(LED_2, COT_LED_OFF);
cotLed_Custom(LED_1, 100, -1900, 0);
}
else if(lwbtn_keys == 3)
{
printf("lwbtn_keys == 3\r\n");
cotLed_SetState(LED_0, COT_LED_OFF);
cotLed_SetState(LED_1, COT_LED_OFF);
cotLed_SetState(LED_2, COT_LED_OFF);
cotLed_Custom(LED_2, 100, -1900, 0);
}
else if(lwbtn_keys == 4)
{
printf("lwbtn_keys == 4\r\n");
cotLed_SetState(LED_0, COT_LED_OFF);
cotLed_SetState(LED_1, COT_LED_OFF);
cotLed_SetState(LED_2, COT_LED_OFF);
cotLed_Breathe(LED_0, 1000);
cotLed_Breathe(LED_1, 1000);
cotLed_Breathe(LED_2, 1000);
}
else if(lwbtn_keys == 5)
{
printf("lwbtn_keys == 5\r\n");
cotLed_SetState(LED_0, COT_LED_OFF);
cotLed_SetState(LED_1, COT_LED_OFF);
cotLed_SetState(LED_2, COT_LED_OFF);
led_t led[] = {LED_0, LED_1, LED_2};
cotLed_Waterfall(led, 3, 300);
}
}


