查看: 2410|回复: 0

[原创] 【LPC54114】GPIO Contorl

[复制链接]

该用户从未签到

4

主题

6

帖子

0

注册会员

Rank: 2

积分
86
最后登录
2020-9-9
发表于 2017-7-13 16:23:28 | 显示全部楼层 |阅读模式
本帖最后由 Inc_brza 于 2017-7-13 18:48 编辑

本帖子学习LPC54114的GPIO操作方法
1、使能时钟
2、配置GPIO属性
3、配置GPIO输入输出以及默认电平

1:
  1.     CLOCK_EnableClock(kCLOCK_Iocon);
  2.     CLOCK_EnableClock(kCLOCK_Gpio0);
  3.     CLOCK_EnableClock(kCLOCK_Gpio1);
复制代码
2:
  1. #define LED_OUTPUT_CFG  IOCON_MODE_PULLUP | IOCON_FUNC0 | IOCON_GPIO_MODE | IOCON_DIGITAL_EN | IOCON_INPFILT_OFF
  2. IOCON_PinMuxSet(IOCON, 0, 15, LED_OUTPUT_CFG);
复制代码
3:
  1. const gpio_pin_config_t led0 = {
  2.         kGPIO_DigitalOutput,
  3.         1
  4.     };
  5. 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));
        }
    }
}


回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-25 20:46 , Processed in 0.084489 second(s), 19 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表