最近在除錯0.96寸oled時遇見了乙個非常奇怪的問題,當我軟體模擬spi時某些引腳死活不工作,一開始我以為是我的板子問題,但實際上是stm32對於某些引腳預設有一些操作,導致無法正常的初始化。
對於開發者來說,stm32很多引腳都有非常豐富的功能,能讓我們開發者進行很多功能的開發,但是正是因為引腳功能太過豐富,說明文件雖然相比其他晶元已經很清晰了,但是依然會忽略某些重要的東西。比如說stm32對於某些腳預設開啟了jtag模式,假如沒有顯式宣告取消jtag功能,那麼關於這些引腳的所有功能初始化都會失敗。
根據stm32f103的操作手冊,pa13,pa14,pa15,pb3,pb4,這幾個腳都是預設開啟了jtag模式
rcc_apb2periphclockcmd(rcc_apb2periph_afio ,enable);//重對映需要先使能afio時鐘
gpio_pinremapconfig(gpio_remap_swj_jtagdisable,enable);//只關閉jtag而保留swd
一般來說,碰到gpio引腳問題,第一步都是檢查是否虛焊,假如沒有虛焊的話,檢查**配置問題,如果**配置也沒有問題的話,就必須回到操作手冊上看引腳定義,看該引腳是否可能存在預設的引腳配置,比如上文提到的jtag模式。 STM32 GPIO的幾種工作模式
1 模擬輸入 i o口當作input使用,並且是模擬輸入。模擬狀態下用來接收模擬量 電壓值 一般用於ad採集。2 浮空輸入 沒有上拉和下拉電阻,當引腳沒有和外部電路連線時,i o埠的電平是不確定的,即使外部的乙個很小的輸入訊號都會使其發生變化。3 上拉輸入 引腳內部有乙個上拉電阻通過開關連線到電源v...
STM32GPIO部分介紹
最近在老師交給了乙個專案,需要用到stm32微控制器,這裡就在學習的過程中所注意到的一些地方或細節部分記錄了下來,筆者所使用的是stm32f407zgt6晶元 探索者 檢視晶元的資料手冊 這個 對每個i o口的功能進行了很詳細的介紹。每個i o除了作為i o使用外,還可以作為其他的復用。已以pe2口...
STM32 GPIO模式總結
4種輸入模式 浮空輸入 上拉輸入 下拉輸入 模擬輸入 4種輸出模式 開漏輸出 復用開漏輸出 推挽輸出 復用推挽輸出 3種最大輸出速度 2mhz 10mhz 50mhz 浮空輸入模式 1 外部通過io口輸入電平,外部電平通過上下拉部分 浮空模式下都關閉,既無 上拉也無下拉電阻 2 傳輸到施密特觸發器 ...