原理圖如下(以PH10引腳的連接的LED燈為例)
我們只需要給PH10引腳一個低電平,那么LED即可點亮。
內部GPIO原理圖如圖所示,紅色箭頭即為GPIO輸出方向,只要給置位/復位寄存器寫數據數據就會傳到輸出數據寄存器(或者直接給輸出數據寄存器賦值),經過推挽輸出電路然后輸出高低電平。
首先配置與PH10引腳有關的寄存器(寄存器映射)
通過查閱stm43f4的參考手冊,相關寄存器映射如下(下面會講到每個寄存器都是什么功能)
接下來按照如下順序配置相關寄存器
1. GPIO 模式
首先我們把連接到 LED 燈的 PH10引腳配置成輸出模式,即配置 GPIO 的 MODER寄存器,MODER中包含 0-15 號引腳,每個引腳占用 2個寄存器位。這兩個寄存器位設置成“01”時即為 GPIO的輸出模式。
2. 輸出類型
GPIO輸出有推挽和開漏兩種類型,我們了解到開漏類型不能直接輸出高電平,要輸出高電平還要在芯片外部接上拉電阻,不符合我們的硬件設計,所以我們直接使用推挽模式。配置 OTYPER寄存中的 OTYPER10寄存器位,該位設置為 0時 PH10引腳即為推挽模式。
3. 輸出速度
GPIO引腳的輸出速度是引腳支持高低電平切換的最高頻率,本實驗可以隨便設置。此處我們配置 OSPEEDR 寄存器中的寄存器位 OSPEEDR10即可控制 PH10的輸出速度。
4. 上/下拉模式
當 GPIO 引腳用于輸入時,引腳的上/下拉模式可以控制引腳的默認狀態。但現在我們的 GPIO 引腳用于輸出,引腳受 ODR寄存器影響,ODR寄存器對應引腳位初始初始化后默認值為 0,引腳輸出低電平,所以這時我們配置上/下拉模式都不會影響引腳電平狀態。但因此處上拉能小幅提高電流輸出能力,我們配置它為上拉模式,即配置 PUPDR寄存器的 PUPDR10 位,設置為二進制值“01”。
5. 控制引腳輸出電平
在輸出模式時,對 BSRR寄存器或ODR 寄存器寫入參數即可控制引腳的電平狀態。
6. 開啟外設時鐘
設置完 GPIO的引腳,控制電平輸出,以為現在總算可以點亮 LED 了吧,其實還差最后一步。
在《STM32芯片架構》的外設章節中提到 STM32 外設很多,為了降低功耗,每個外設都對應著一個時鐘,在芯片剛上電的時候這些時鐘都是被關閉的,如果想要外設工作,必須把相應的時鐘打開。
STM32 的所有外設的時鐘由一個專門的外設來管理,叫 RCC(reset and clockcontrol),RCC 在《 STM32 中文參考手冊》的第六章。所有的 GPIO都掛載到 AHB1 總線上,所以它們的時鐘由 AHB1外設時鐘使能寄存器(RCC_AHB1ENR)來控制,其中 GPIOH 端口的時鐘由該寄存器的位 7 寫 1 使能,開啟GPIOH端口時鐘。
具體代碼實現如下
上一篇:如何新建stm32固件庫工程
下一篇:關于Keil5編譯成功但是會有紅叉的問題
推薦閱讀
史海拾趣
在電子行業快速發展的背景下,E-tec始終保持對技術創新的關注。他們投入大量資金進行研發,不斷推出新產品和新技術。例如,他們成功開發了一種新型的微型連接器,該連接器具有體積小、傳輸速度快、抗干擾能力強等優點,受到了市場的熱烈歡迎。此外,E-tec還注重產品升級和換代,確保產品始終保持在行業前列。
隨著公司規模的擴大,Collins Electronics Corp開始將目光投向國際市場。他們積極參加國際電子展會,與世界各地的潛在客戶和合作伙伴交流。通過與不同國家的企業合作,公司成功打入了國際市場,產品銷量大幅提升。這一過程中,他們不僅學習了國際先進的電子技術,還積累了豐富的跨國運營經驗。
進入上世紀80年代,EPT Connectors公司迎來了一次重要的技術突破。公司成功推出了DIN 41612連接器,這一產品憑借其高性能和可靠性迅速在市場上獲得了認可。隨后,EPT又相繼推出了PC/104和PC/104-Plus、Hm2.0、AdvancedTCA和MicroTCA等產品組,進一步鞏固了其在連接器領域的領先地位。這些產品的推出不僅提升了EPT的品牌影響力,也為公司帶來了可觀的收益。
1.實驗任務 (1).開機時,顯示12:00:00的時間開始計時; (2).P0.0/AD0控制“秒”的調整,每按一次加1秒; (3).P0.1/AD1控制“分”的調整,每按一次加1分; (4).P0.2/AD2控制“時”的調整,每按一次加1個小時;… 查看全部問答∨ |
|
觸電是因為電源通過人體形成了回路,電流的能量破壞了人體內本來的生物電秩序而造成的破壞性結果。 從我們家庭里的電源插座到電力變壓器之間是有電線連接的。(我們使用的220V電壓是相電壓,就是我們常講的火線和零線間的電位差。)但是還有一條我 ...… 查看全部問答∨ |
|
小弟編寫了一個驅動程序,希望系統啟動時,可以自動加載運行該程序,注冊表設置如下: [HKEY_LOCAL_MACHINE\\Drivers\\Builtin\\TVIF] "DLL"="xxxx.dll" "Prefix"="CHR" ...… 查看全部問答∨ |
|
主題: 100KW光伏并網逆變器輸出電流尖峰分析 系統描述:100KW的三相并網逆變器采用單級式的結構。 直流支撐電容為10000UF,采用層壓母排與英飛凌1200V的雙管IGBT ...… 查看全部問答∨ |
|