基於RT1170 使能GPIO輸入功能 (一)

本文主要是透過遷移的思維,記錄本人初次使用NXP MCUXpresso SDK API進行BSP開發

MCUXpresso SDK GPIO API 介面連結

在MCUXpresso SDK 框架下提供了對GPIO進行操作的介面。針對GPIO當作輸入使用,一般只需要將對應的引腳配置成GPIO功能,方向為輸入,需要設定初始化預設電平是不生效的。接下來就可以對其進行讀取操作。

1。 首先閱讀原理圖

設計中有一個輸入引腳,如下所示:

USER_KEY1——GPIO_AD_26——GPIO9_IO25

基於RT1170 使能GPIO輸入功能 (一)

在這裡插入圖片描述

基於RT1170 使能GPIO輸入功能 (一)

基於RT1170 使能GPIO輸入功能 (一)

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。

基於RT1170 使能GPIO輸入功能 (一)

再將引腳配置成輸入。

基於RT1170 使能GPIO輸入功能 (一)

點選更新原始碼。

基於RT1170 使能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進行操作。目前主流的微控制器都支援透過圖形介面生成初始化程式碼,初次體驗了一把。