本帖最后由 jinglixixi 于 2023-10-10 19:22 编辑
在MSPM0L1306开发板上配有一个RGB_LED,其电路如图1所示。 该电路的特点就是它不独占引脚资源,大大地提高了使用的灵活性,例如可将连接RGB_LED的短接子打开,从而控制外挂的设备,如图2和图3所示就是控制一个外挂的LED模块。 图1 RGB_LED电路
图2 点亮LED模块
图3 熄灭LED模块
此外,在开发板上还配有一个红色的LED,其电路如图4所示。 图4 LED电路
在例程的基础上要控制该LED,可通过配置界面来添加该器件所使用的GPIO口,并配置该GPIO口的输入/输出工作模式等,参见图5所示。 图5 配置GPIO口
随后,通过修改主程序即可达到图6的显示效果,其内容为: intmain(void)
{
int i,j;
SYSCFG_DL_init();
while (1) {
delay_cycles(10000000);
DL_GPIO_togglePins(GPIOA, DL_GPIO_PIN_0);
}
}
图6 控制LED
除了输出模式的测试,还可通过开发板上的按键来进行输入模式的测试,按键的电路如图7所示。 图7 按键电路
对S2和LED1所用引脚的工作模式配置函数为: SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void)
{
DL_GPIO_initDigitalOutput(GPIO_GRP_0_PIN_0_IOMUX);
DL_GPIO_initDigitalInput(GPIO_GRP_2_PIN_14_IOMUX);
}
实现S2控制LED1的主程序为:
intmain(void)
{
int i,j;
SYSCFG_DL_init();
DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_26);
while (1) {
if(DL_GPIO_readPins(GPIOA, DL_GPIO_PIN_14)==0)
{
DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_0);
}
else
{
DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_0);
}
}
}
经程序的编译与下载,其控制效果如图8所示。 图8 控制效果
这样,就基本解决了GPIO口的使用问题。
|