今天我们来简单介绍下CC2640R2F基于GPIO口的开发,我们先实现点亮一个LED灯。
从原理图可以看出,我们只需给DIO4一个高电平,LED就亮了。
#define CC2640R2DK_5XD_KEY_DOWN IOID_4 /* P1.12 */
#define Board_RLED CC2640R2DK_5XD_KEY_DOWN
const PIN_Config BoardGpioInitTable[] = {
CC2640R2DK_5XD_KEY_DOWN | PIN_GPIO_OUTPUT_EN | PIN_PUSHPULL | PIN_DRVSTR_MED, /* LED initially off */
PIN_TERMINATE
};
PIN_init(BoardGpioInitTable);
PIN_Config GPIOTable[] =
{
Board_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, //设置成推挽输出,输出低电平
PIN_TERMINATE
};
//点亮LED灯
void HwGPIOInit(void)
{
GPIOHandle = PIN_open(&GPIOState, GPIOTable); //注册IO
HwGPIOSet(Board_RLED, 1); //打开LED灯
}
//设置输出高低电平
void HwGPIOSet(uint32_t pin, uint8_t flag)
{
PIN_setOutputValue(GPIOHandle, pin, flag);
}
总结:这样我们就轻松点亮一个LED灯,如果需要实现LED闪烁,只需额外加一个定时器就好了,定时时间到就翻转电平。