本文主要是透過遷移的思維,記錄本人初次使用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進行操作。目前主流的微控制器都支援透過圖形介面生成初始化程式碼,初次體驗了一把。