在stm32實際程式設計中,會遇到gpio口連續的引腳並行輸出應用,例如數碼管驅動,lcd並行驅動,如果單獨逐個去驅動io口,程式設計麻煩,而且效率比較低,其實可以直接採用暫存器程式設計實現,這種思路的前提是,盡量從gpio_pin_0埠開始分配管腳,這樣比較方便。
這裡主要用到gpio的2個暫存器,分別是埠輸入資料暫存器「gpiox_idr」和埠輸出資料暫存器「gpiox_odr」其中x=a...e
這兩個資料暫存器定義如下:
具體程式設計思路:
在標頭檔案中進行巨集定義即可,舉例如下:
#define dataout(x) gpiod->odr=x;
#define datain gpiod->idr;
STM32之GPIO輸入輸出
gpio的輸出 背景 應用在點亮led。led串聯電阻再上拉,另一端與gpio口相連。因此,gpio輸出高電平則led滅,輸出低電平則led亮。第一步工作是初始化gpio,使能外設時鐘,因為gpio是掛載在apb2中線上的。然後對gpio inittypedef結構體進行初始化,設定gpio pin...
STM32學習筆記之GPIO輸入與輸出
1 核心點 對於任意mcu中的外設 模組 操作方法 都是找該模組的工作框圖,根據框圖來寫程式 對於st中的任何乙個外設,都是掛載在不同的時鐘線下的,所有的時鐘線預設都是關閉的 在使用該外設之前,要開啟該外設的時鐘 步驟1 開啟晶元手冊 mcu的英文晶元手冊 2.2章節,找外設在哪一條時鐘線下 步驟2...
stm32之GPIO的理解
寫這個部落格著重縷清自己的思路,對基礎的東西有個更好的理解。gpiox crh 與gpiox crl 可以配置gpio的各種模式,進行初始化。gpiox bsrr 32位暫存器,可以寫入或清除1 0 gpiox idr 低16位暫存器,讀取io的電平 gpiox odr 低16位暫存器,寫入io的電...