zoukankan      html  css  js  c++  java
  • 基于RT1170 使能GPIO输入功能 (一)

    本文主要是通过迁移的思维,记录本人初次使用NXP MCUXpresso SDK API进行BSP开发

    MCUXpresso SDK GPIO API 接口链接
      在MCUXpresso SDK 框架下提供了对GPIO进行操作的接口。针对GPIO当作输入使用,一般只需要将对应的引脚配置成GPIO功能,方向为输入,需要设置初始化默认电平是不生效的。接下来就可以对其进行读取操作。

    1. 首先阅读原理图

      设计中有一个输入引脚,如下所示:
      USER_KEY1----GPIO_AD_26----GPIO9_IO25
    在这里插入图片描述

    2. SDK api 应用

    2.1 GPIO Init

    需要将对应的引脚复用成普通的GPIO引脚。

    void BOARD_InitPins(void)
    {
    	IOMUXC_SetPinMux(IOMUXC_GPIO_AD_26_GPIO9_IO25, 0U);
    }
    

    将引应用的引脚配置成输入:

    #define EXAMPLE_SW_GPIO GPIO9
    #define EXAMPLE_SW_GPIO_PIN (25U)
    
    /* Define the init structure for the input switch (USER_KEY1) pin */
    gpio_pin_config_t sw_config = {
    	kGPIO_DigitalInput,
    	0,
    	kGPIO_NoIntmode ,
    };
    /*Init  USER_KEY1  be use for input*/
    GPIO_PinInit(EXAMPLE_SW_GPIO, EXAMPLE_SW_GPIO_PIN, &sw_config);
    

    2.2 GPIO read

    在MCUXpresso SDK框架下, 通过GPIO_PinRead 读取IO的电平, 如下所示

    GPIO_PinRead(EXAMPLE_SW_GPIO, EXAMPLE_SW_GPIO_PIN)
    

    3. 代码生成

    在NXP提供的工具里可以通过 MCUXpresso Config Tools v9 生成初始化代码。
    先将引脚配置成普能的GPIO。

    再将引脚配置成输入。

    点击更新源代码。

    即可生成对应的初始化代码。

      /* GPIO configuration of USER_KEY1 on GPIO_AD_26 (pin L14) */
      gpio_pin_config_t USER_KEY1_config = {
          .direction = kGPIO_DigitalInput,
          .outputLogic = 0U,
          .interruptMode = kGPIO_NoIntmode
      };
      /* Initialize GPIO functionality on GPIO_AD_26 (pin L14) */
      GPIO_PinInit(GPIO9, 25U, &USER_KEY1_config);
    
      IOMUXC_SetPinMux(
          IOMUXC_GPIO_AD_26_GPIO9_IO25,           /* GPIO_AD_26 is configured as GPIO9_IO25 */
          0U);
    

    4. 总结

    在MCUXpresso SDK框架下通过MCUXpresso Config Tools v9 生成初始化代码,再通过MCUXpresso SDK API对GPIO进行操作。目前主流的单片机都支持通过图形界面生成初始化代码,初次体验了一把。

  • 相关阅读:
    .Net里的Attribute 学习
    浅谈并发与并行(一)
    Asp.net Mvc4默认权限详细(下)
    Enum是如何用的?
    指针与引用
    栈与队列
    mini2440裸机之I2C
    解决Delphi MDI 闪烁问题(使用WM_SETREDRAW锁屏后进行处理)
    DelphiXE 显示GIF动画
    参数传递方法(Delphi1.0与win16API使用pascal方法,即从左到右)
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/15169529.html
Copyright © 2011-2022 走看看