按鍵輸入檢測採用gpio輸入功能,與gpio輸出功能類似,具體需要如下幾步:
/*gpio初始化:
引數1:gpio組
引數2:gpiopin
引數3:gpio屬性
*/void gpio_init(gpio_type *base,int pin,gpio_pin_config_t *config)
}int gpio_pinread(gpio_type *base,int pin)
void gpio_pinwrite(gpio_type *base,int pin,int value)
else
}
#ifndef __bsp_gpio_h
#define __bsp_gpio_h
#define __bsp_key_h
#include "imx6ul.h"
/* 列舉型別和結構體定義 */
typedef enum _gpio_pin_direction
gpio_pin_direction_t;
/* gpio 配置結構體 */
typedef struct _gpio_pin_config
gpio_pin_config_t;
/* 函式宣告 */
void gpio_init(gpio_type *base, int pin, gpio_pin_config_t *config);
int gpio_pinread(gpio_type *base, int pin);
void gpio_pinwrite(gpio_type *base, int pin, int value);
#endif
#include "bsp_key.h"
#include "bsp_gpio.h"
#include "bsp_delay.h"
/*key初始化函式
*/void key_init(void)
/* 獲取按鍵值
0:無按鍵按下 其他值:對應按鍵值
*/int key_getvalue(void)
}else if (gpio_pinread(gpio5,1) == 1)
return ret;
}
#ifndef __bsp_key_h
#define __bsp_key_h
#include "imx6ul.h"
enum keyvalue;
/* 函式宣告 */
void key_init(void);
int key_getvalue(void);
#endif
#include "bsp_clk.h"
#include "bsp_delay.h"
#include "bsp_led.h"
#include "bsp_key.h"
/* * @description : mian函式
* @param : 無
* @return : 無
*/int main(void)
} }return 0;
}
IMX6ULL裸機學習(8) 清除BSS段
bss段 bss segment 通常是指用來存放程式中未初始化的全域性變數的一塊記憶體區域。bss是英文block started by symbol的簡稱。bss段屬於靜態記憶體分配。修改main函式如下所示 include uart.h include led.h int mydata 123...
IMX6ULL啟動流程
假設板子設定為sd tf卡啟動,boot rom程式會做什麼?把程式從sd tf卡讀出來,執行。從 讀?從sd tf卡讀,這需要先初始化sd tf卡 根據efuse或gpio的設定初始化sd tf卡。讀到 去?讀到記憶體即ddr去,這需要先初始化ddr。除了初始化啟動裝置 初始化ddr,還需要初始化...
IMX6ULL學習筆記(一)
imx6ull裸機開發學習 以下內容是我在學習正點原子imx6ull開發板alpha中記錄的筆記,部分摘錄自正點原子imx6ull開發手冊。bin檔案前面要新增頭部 ivt boot data dcd資料 由官方手冊可知要燒寫到sd卡中的load.imx檔案在sd卡中的起始位址是0x400,也就是1...