在线时间12 小时
UID3072817
注册时间2015-8-27
NXP金币0
该用户从未签到
注册会员

- 积分
- 86
- 最后登录
- 2020-9-9
|
本帖最后由 Inc_brza 于 2017-7-13 18:48 编辑
本帖子学习LPC54114的GPIO操作方法
1、使能时钟
2、配置GPIO属性
3、配置GPIO输入输出以及默认电平
1:
- CLOCK_EnableClock(kCLOCK_Iocon);
- CLOCK_EnableClock(kCLOCK_Gpio0);
- CLOCK_EnableClock(kCLOCK_Gpio1);
复制代码 2:
- #define LED_OUTPUT_CFG IOCON_MODE_PULLUP | IOCON_FUNC0 | IOCON_GPIO_MODE | IOCON_DIGITAL_EN | IOCON_INPFILT_OFF
- IOCON_PinMuxSet(IOCON, 0, 15, LED_OUTPUT_CFG);
复制代码 3:
- const gpio_pin_config_t led0 = {
- kGPIO_DigitalOutput,
- 1
- };
- GPIO_PinInit(GPIO, 0, 15, &led0);
复制代码 以下是main函数:int main(void)
{
char ch;
const gpio_pin_config_t led0 = {
kGPIO_DigitalOutput,
1
};
gpio_pin_config_t key0 = {
kGPIO_DigitalInput,
1
};
/* Init board hardware. */
/* attach 12 MHz clock to FLEXCOMM0 (debug console) */
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
BOARD_InitPins();
BOARD_BootClockFROHF96M();
BOARD_InitDebugConsole();
PRINTF("NXP社区.\r\n");
PRINTF("hello world.\r\n");
CLOCK_EnableClock(kCLOCK_Iocon);
CLOCK_EnableClock(kCLOCK_Gpio0);
CLOCK_EnableClock(kCLOCK_Gpio1);
GPIO_PinInit(GPIO, 0, 15, &led0);
GPIO_PinInit(GPIO, 1, 8, &key0);
IOCON_PinMuxSet(IOCON, 1, 8, KEY_INPUT_CFG);
IOCON_PinMuxSet(IOCON, 0, 15, LED_OUTPUT_CFG);
SysTick_Config(SystemCoreClock/1000);
while (1)
{
if (!GPIO_ReadPinInput(GPIO, 1, 8)) {
PRINTF("NXP社区你好 \r\n");
}
if (TicksCount >= 1000) {
TicksCount = 0;
GPIO_TogglePinsOutput(GPIO, 0, (1u << 15));
}
}
}
|
|