基于RT1170 使能GPIO输出功能 (二)

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

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

1. 首先阅读原理图

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

在这里插入图片描述在这里插入图片描述

2. SDK api 应用

2.1 GPIO Init

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

IOMUXC_SetPinMux(
      IOMUXC_GPIO_AD_35_GPIO10_IO02,          /* GPIO_AD_35 is configured as GPIO10_IO02 */
      0U);                                    /* Software Input On Field: Input Path is determined by functionality */
      

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

  /* GPIO configuration of USER_LED on GPIO_AD_35 (pin G17) */
  gpio_pin_config_t USER_LED_config = {
      .direction = kGPIO_DigitalOutput,
      .outputLogic = 0U,
      .interruptMode = kGPIO_NoIntmode
  };
  /* Initialize GPIO functionality on GPIO_AD_35 (pin G17) */
  GPIO_PinInit(GPIO10, 2U, &USER_LED_config);

2.2 GPIO write

在MCUXpresso SDK框架下, 通过GPIO_PinWrite用于设置IO的电平, 如下所示

/*!
 * @brief Sets the output level of the individual GPIO pin to logic 1 or 0.
 *
 * @param base GPIO base pointer.
 * @param pin GPIO port pin number.
 * @param output GPIOpin output logic level.
 *        - 0: corresponding pin output low-logic level.
 *        - 1: corresponding pin output high-logic level.
 */
void GPIO_PinWrite(GPIO_Type *base, uint32_t pin, uint8_t output);

实际操作代码如下所示:

/*输出低电平*/
GPIO_WritePinOutput(GPIO10,2U, 0);
/*输出高电平*/
GPIO_WritePinOutput(GPIO10,2U, 1);

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. 总结

  图型化工具辅助编程是大趋势,让客户专注应用开发。

posted @ 2021-08-21 14:44  嵌入式实操  阅读(227)  评论(0编辑  收藏  举报