STM32 STM32學習記錄3 按鍵輸入

2021-07-10 11:00:44 字數 975 閱讀 4949

1:io配置:。上拉輸入模式:區別在於沒有輸入訊號的時候預設輸入高電平(因為

有弱上拉)。下拉輸入模式:區別在於沒有輸入訊號的時候預設輸入低電平(因為有弱下拉)。對於浮空輸入模式顧名思義也就

是輸入什麼訊號才是什麼訊號,對於浮空輸入要保證有明確的輸入訊號。

2:stm32的gpio既可以設定為輸出也可以設定為輸入,當設定為輸入時,輸出還是可以有效的,當設為上拉時,可以把輸出設

為高電平,而設為下拉輸入時,把輸出設為低電平,這樣就有了上拉和下拉。

3:stm32 支援 jtag 和 swd 兩種**介面,他們和普通的 io 口共用,當需要使用普通 io口的時候,則必須先禁止

jtag/swd。stm32 在預設狀態下是開啟 jtag 的,所以那些和 jtag共用的 io 口,在預設狀態下是不能做普通 io 口使用的。

我們可以通過 afio_mapr 暫存器的24~26 位來修改 stm32 的 jtag 配置,從而切換為普通 io 口或者其他狀態。原程式如下:#include"sys.h"

#include"delay.h"

#include"usart.h"

#define key0 pain(13) //pa13

#define key1 pain(15) //pa15

#define key2 pain(0) //pa0 wk_up

#define led0 paout(8)

#define led1 pdout(2)

void io_init(void)

void led_init(void) //pa8,pd2為輸出口

u8 key_scan(void)

if(key1==0)

if(key2==1) //按鍵按下時為高電平

else }

int main(void)

}}

STM32 STM32啟動方式

在復位時,會按照boot的狀態判斷進入哪種模式,boot腳不用保持長狀態。模式1 boot0拉低,使用使用者快閃儲存器區,這是最正常啟動的模式,即,在正常啟動時,boot0應該下拉為低電平 模式3 從sram執行,由於stm32的flash擦寫的次數是有限的,所以為了保護我們的flash,延長mcu...

STM32 STM32的復用時鐘何時開啟?

stm32的afio時鐘真的是在開啟引腳復用功能的時候開啟嗎?其實並不是 我們知道,stm32有很多外設,這些外設的外部引腳都是與gpio共用的。我們可以通過軟體來配置引腳作為gpio引腳還是作為外設引腳。當引腳配置為外設引腳時就叫做復用。如串列埠預設復用的引腳為 pa9 pa10引腳可配置為普通i...

stm32學習記錄

讓自己別忘了大學裡學的東西,那麼就把它記錄下下來,效率會比忘記然後重新再去找資料再重頭學高的多 先講講定時器的基礎定時功能 1.先做乙個形象的比喻 手錶 秒鐘 時鐘 定時器 定時器內部時鐘 定時器輸出時鐘 它們倆基本相同,不同的是,對於手錶是秒鐘和分鐘之間的進製是固定為60,而對於定時器,定時器內部...