STM32 PB4不能做普通IO解決方法

2021-08-03 16:33:39 字數 1429 閱讀 1494

1      (rcc_apb2periph_gpiob|rcc_apb2periph_gpioc|rcc_apb2periph_afio, enable);開啟時鐘  復用時鐘

.執行埠重對映時,復用功能時鐘得使能:rcc_apb2periph_afio

2.    gpio_remap_swj_disable            full swj disabled (jtag-dp + sw-dp)此時pa13|pa14|pa15|pb3|pb4都可作為普通io用了

為了儲存某些除錯埠,gpio_remap_swj_disable也可選擇為下面兩種模式:

3.gpio_remap_swj_jtagdisable                jtag-dp disabled and sw-dp enabled     此時pa15|pb3|pb4可作為普通io用了

4.gpio_remap_swj_nojtrst       full swj enabled (jtag-dp + sw-dp) but without jtrst此時只有pb4可作為普通io用了 

gpio_inittypedef gpio_initstructure;

rcc_apb2periphclockcmd(rcc_apb2periph_gpiob , enable);

//pb4預設用作除錯口,如果用作普通的io,需要加上以下兩句

rcc_apb2periphclockcmd(rcc_apb2periph_afio,enable);

gpio_p

inremapconfig(gpio_remap_swj_jtagdisable, enable);  

gpio_initstructure.gpio_p

in= gpio_p

in_4|gpio_p

in_5;  

gpio_initstructure.gpio_speed = gpio_speed_50mhz;

gpio_initstructure.gpio_mode = gpio_mode_out_pp; //推挽輸出

gpio_init(gpiob, &gpio_initstructure);

stm32 將PB3,PB4設定為普通IO模式

最近在做專案,涉及到將pa3 pa4引腳作為普通io模式,控制led燈亮滅,發現這兩個io口不受控制,一直處於高電平狀態。查閱stm32的引腳說明發現,pb3和pb4在系統復位時候,分別預設為sys jido和sys hjtrst,所以需要自行禁止其功能,才能將pb3和pb4作為普通io引腳使用。下...

STM32F103 PB3 作為 普通IO使用

花了一堆時間除錯,要將pb3作為輸入口使用,查了很多文章,試了一下午,終於 rcc apb2periphclockcmd rcc apb2periph afio,enable 必要 rcc apb2periphclockcmd rcc apb2periph gpiob,enable 必要 gpio ...

STM32 PB3作為普通IO口的使用方法

最近在做專案時需要用到pb3作為檢測按鍵檢測引腳。該引腳預設低電平,當按鍵按鍵按下時電平訊號拉高。因此將按鍵配置為下拉輸入。相應始終也開啟使能,但是按鍵按下後,硬體有反應按鍵按下,但是軟體邏輯不能檢測到引腳電平拉高。查閱相關資料後,發現stm3210x系列的晶元在復位後,會將pa13 14 15 p...