首先我们先根据原理图来找到我们的RGB的位置:
我们可以看到RGB是通过三个LED灯来控制的,通过GBR的三原色,就可以实现LED的颜色的显示,最后在显示的时候混合一下,就能实现RGB实现任意颜色。
通过开发板对应的引脚来定义我们的设备的初始化引脚做准备。
其中的引脚我们定义到P20,P21,P22
软件配置首先根据箭头标注的地方
我们可以发现其中板卡默认值是EvKit_V1,我们需要修改一下,符合我们板卡的配置。
在main循环中有初始化LED的操作,我们进去其中的led定义查看一下
这里我们可以知道其中通过结构体对其中LED的赋值,我们就进去深入了解一下,其中LED的初始化是怎么样的结构体
我们进入到其中结构体的参数,发现其中有首先一个led的结构体的数组
将其中的端口修改我们的RGB数组。
{ MXC_GPIO2, MXC_GPIO_PIN_0, MXC_GPIO_FUNC_OUT, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0},
{ MXC_GPIO2, MXC_GPIO_PIN_1, MXC_GPIO_FUNC_OUT, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0},
{ MXC_GPIO2, MXC_GPIO_PIN_2, MXC_GPIO_FUNC_OUT, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0},
这里的LED的定义只有G和R,我们再添加一个B
最后再将我们主程序修改一下
int main(void)
{
int count = 0;
printf("Hello World!\n");
while (1) {
LED_On(LED1);
MXC_Delay(500000);
LED_Off(LED1);
MXC_Delay(500000);
LED_On(LED2);
MXC_Delay(500000);
LED_Off(LED2);
MXC_Delay(500000);
LED_On(LED3);
MXC_Delay(500000);
LED_Off(LED3);
MXC_Delay(500000);
printf("count : %d\n", count++);
}
}
其中的板卡的RGB就在三种颜色闪烁