stm32的IO引腳電平初步理解

2021-09-06 20:28:44 字數 772 閱讀 5132

stm32的io理解:

stm32中空的i/o管腳是高電平還是低電平取決於具體情況。

1、io埠復位後處於浮空狀態,也就是其電平狀態由外圍電路決定。

2、stm32上電復位瞬間i/o口的電平狀態預設是浮空輸入,因此是高阻。做到低功耗。

3、stm32的io管腳配置口預設為浮空輸入,把選擇權留給使用者,這是乙個很大的優勢:一方面浮空輸入確保不會出現使用者不希望的預設電平(此時電平取決於使用者的外圍電路);另一方面降低了功耗,因為不管是上拉還是下拉都會有電流消耗。從另乙個角度來看,不管i/o管腳的預設配置如何,還是需要在輸出的管腳外加上拉或下拉,這是為了保證晶元上電期間和復位時輸出的管腳始終處於已知的電平。

4、在沒有任何操作的情況下,stm32通用推挽輸出模式的引腳預設低電平,也就是有電的狀態。所以在配置的時候通常會先把引腳的電平設定拉高,讓電路不產生電流。有電到沒電這一過程也就是引腳電平從低到高的過程。

5、stm32的i/o管腳有兩種:ttl和cmos,所有管腳都相容ttl和cmos電平。也就是說從輸入識別電壓上看,所有管腳不管是ttl管腳還是cmos管腳都可以識別ttl或cmos電平。

有個東西必須知道:如果是cmos的引腳,那麼不使用的輸入端不能懸空,否則會或多或少受電荷累積等影響導致邏輯混亂。(普通微控制器的i/o都是cmos輸入結構的,而mos管在應用的過程中gate端是不允許懸空的,懸空時電平不定,容易在外界的干擾時造成翻轉,並且會帶來額外的功耗,所以不用時一般設定為輸入上拉狀態。)

但是因為stm32的io都是cmos與ttl相容的,所以使能了時鐘但是並沒有使用的某些io口就可以閒置了。

stm32的引腳注意

pd0,pd1用於輸出地時候僅能用於50mhz輸出模式 pc13,pc14,pc15只能用於2mhz的輸出模式最多只能帶30pf的負載並且同時只能使用乙個引腳 pb3,pb4,pa15要使用需要開啟時鐘,關閉對映 rcc apb2periphclockcmd rcc apb2periph gpioa...

stm32普通IO口捕獲PWM的高電平

思路 普通io口配置上公升沿下降沿觸發中斷,然後配置乙個定時器 週期大於等於pwm週期 在io口中斷中讀取定時器計數。定時器不需要配置中斷 void tim3 configuration void io口配置 gpio inittypedef gpio initstructure exti init...

STM32 中JTAG 引腳作為普通IO口設定方法

第一次畫stm32 的pcb 因為採用了swd 除錯,認為jtag的引腳pb3,pb4,沒有用到就做了普通io口,麻煩從此引起了。設定pb3,pb4均為輸出口,且輸出高電平,用萬用表測量,pb4為高,pb3不是高電平,在看mdk 中的暫存器值,pb3,pb4都是高啊?暫存器的值怎麼和實際的值不一樣了...