STM32——GPIO

總 :STM32——學習總綱

參考資料:

STM32F1系列參考手冊-V10(中)

一、GPIO簡介

1.1 GPIO 特點

?

1.2 GPIO 電氣特性*

stm32芯片資料STM32F103ZET6(English)

1.3 GPIO 引腳分布

電源引腳:V開頭

晶振引腳:

復位引腳:

下載引腳:通過 串口、JTAG、SWD下載有不同的下載IO

BOOT引腳:

GPIO引腳:p開口

二、IO端口基本結構

F1與F3、F7、H7的差異點在于上下拉電阻的位置。

F1的IO做為輸入禁止使用上下拉電阻,這是由硬件決定的。

額外補充:

模電學習——場效應管(FET)

記憶:箭頭方向就是電子流動方向。想要mos管導通,需要 gs?壓差滿足 箭頭方向上的電子流通。

三、GPIO的八種模式(F1)

前置

STM32F1系列參考手冊-V10(中)

3.1 輸入浮空

特點:

3.2 輸入上拉

特點:

弱上拉

3.3 輸入下拉

特點:

3.4 模擬功能

特點:

輸入只走模擬輸入

3.5 開漏輸出

寄存器介紹參考前置

特點:

開漏模式下,寄存器寫0,NMOS管導通,此時IO口呈低電平↓

開漏模式下,寄存器寫1,P、N mos管皆不導通,此時IO口為高阻態,F1系列想要輸出高電平,需要外部的上拉電阻。

3.6 開漏復用

特點:

不由寄存器控制,由片上外設控制輸出?

3.7 推挽輸出

寄存器介紹參考前置

特點:

可控制 P/N MOS管的反向導通,控制 IO?口輸出高低電平。

3.8 推挽復用?

特點:

不由寄存器控制,由片上外設控制輸出

3.* F4/F7/H7 系列和 F1 系列的 GPIO 差異點

四、GPIO寄存器(F1)

STM32F1系列參考手冊-V10(中)

“GPIOx_” 中的 ‘x’ 代表A~E組別,每個組有以下七個寄存器

4.1 端口配置 高、低 寄存器(Configuration Register Low/High)

此倆寄存器用于配置 IO 口的 工作模式和輸出速度。

一組 IO 有16個,高、低寄存器每四個bit(CNFy、MODEy)配置一個IO,兩個寄存器64bit,共配置16個IO。

當配置 bit 0b1000, 按配置是 上拉/下拉 輸入模式,但不能確定上拉還是下拉,還需要ODR寄存器進行設置。

具體CR配置如下截圖。

GPIOx_CRL

GPIOx_CRH

4.2 端口輸出數據寄存器(Out Data Register)

GPIOx_ODR

16個 bit 對應16個IO。用于設置IO引腳輸出時的高低電平。

還可通過此寄存器配置上拉/下拉輸入配置。

4.3 端口輸入數據寄存器(Input Data Register)

GPIOx_IDR

只讀,讀取對應 IO 的狀態,用于判斷引腳電平。

4.4 端口位設置/清除寄存器(Bit Set Reset Register)

GPIOx_BSRR

高16bit,寫 1 清除ODR寄存器對應bit為0,寫0無影響。

低16bit,寫 1 清除ODR寄存器對應bit為1,寫0無影響。

此寄存器用于控制 ODR寄存器

4.5 不建議使用的寄存器

? ? GPIOx_BRR

? ? GPIOx_LCKR

4.6 ODR 與 BSRR*

類似C中 volatile關鍵詞,從原始地址獲取值,以防緩存值與原始值不一致。

五、通用外設驅動模型(四步法)

六、GPIO配置步驟

七、編程實戰

?7.1?點亮一個LED

?7.2 LED亮滅控制

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919097.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919097.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919097.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

NUX MG-400 吉他效果器功能原理介紹

NUX MG-400 是一款多功能數字吉他效果器,它的核心原理就是把吉他的模擬信號,通過 A/D 轉換變成數字信號 → 在 DSP 芯片上做建模運算 → 再通過 D/A 轉換還原成模擬信號輸出。 它的硬件 軟件協作設計,基本可以拆成幾個模塊來看: …

Linux——進程管理和計劃任務管理

文章目錄前言一、程序與進程的關系1.1 程序與進程的定義1.2 父進程與子進程二、查看進程信息2.1 ps 命令(重點)2.2 動態查看進程信息top命令(重點)2.3 pgrep命令查詢進程信息2.4 pstree命令以樹形結構列出進程信息三、進程的啟動方…

阿里云TranslateGeneral - 機器翻譯SDK-自己封賬單文件版本—仙盟創夢IDE

仙盟創夢IDE代碼<?php /*** 阿里云機器翻譯通用版API調用工具* 文檔參考&#xff1a;https://help.aliyun.com/zh/machine-translation/developer-reference/api-alimt-2018-10-12-translategeneral*/ class AliyunTranslate {// 阿里云訪問密鑰private $accessKeyId;priva…

新字符設備驅動實驗

經過前兩章實驗的實戰操作&#xff0c;我們已經掌握了 Linux 字符設備驅動開發的基本步驟&#xff0c;字符 設備驅動開發重點是使用 register_chrdev 函數注冊字符設備&#xff0c;當不再使用設備的時候就使用 unregister_chrdev 函數注銷字符設備&#xff0c;驅動模塊加載成功…

【更新公告】C++算法·線段樹

之前的線段樹知識都忘了qwq 現在在重新學線段樹 下一篇就是寫線段樹了&#xff0c;例題已經找好了 A了1遍&#xff0c;但是用的玄學代碼ee 下面是更新公告 更新公告 更新模式改為2~3天1篇 但是絕對高質量&#xff01;&#xff01; (平均質量分93夠嗎qwq) 如果例題好找盡量給出2…

pyqtgraph 庫 右鍵菜單欄插件漢化

第一步&#xff0c;打開pyqtgraph文件夾。 第二步&#xff1a;打開graphicsItems&#xff0c;將PlotItem和ViewBox中的.py文件中的英文替換為中文&#xff0c;運行軟件即可看到插件右鍵的菜單欄成為中文。 第三步&#xff1a;GraphicsScene中的&#xff0c;等找到相應的右鍵菜單…

docker鏡像解決的一些問題

1 概述Docker鏡像技術通過創新性的設計&#xff0c;徹底解決了應用交付領域的核心痛點&#xff0c;已經成為已成為云原生時代的事實標準。其核心價值在于??通過標準化封裝實現"一次構建&#xff0c;處處運行"??&#xff0c;從根本上改變了軟件交付的生命周期。2 …

10.從開始寫LINUX內核——時鐘中斷

Linux 0.12 內核時鐘中斷實現&#xff1a;從初始化到中斷響應時鐘中斷是操作系統中最基礎且最重要的中斷之一&#xff0c;它為系統提供時間基準&#xff0c;支持進程調度、定時器等核心功能。本文將基于 Linux 0.12 內核的 setup 程序框架&#xff0c;詳細介紹時鐘中斷的完整實…

Effective C++ 條款45:運用成員函數模板接受所有兼容類型

Effective C 條款45&#xff1a;運用成員函數模板接受所有兼容類型核心思想&#xff1a;使用成員函數模板&#xff08;member function templates&#xff09;生成可接受兼容類型的函數&#xff0c;特別是泛型拷貝構造函數和賦值操作符&#xff0c;同時避免抑制編譯器生成的默認…

華測科技(北京)的3D GPR數據分析

很高興得到了張總的支持&#xff0c;獲得了他們雷達的數據&#xff0c;并寫了雷達數據讀取和轉換文件。1 背景搜索后發現 華測科技&#xff08;北京&#xff09;有限公司 的實力很強&#xff0c;因為他們的檢測可達100km/h的時速。以前我只知道行業內 青島中電眾益 的3D GPR產…

X86、ARM與C86架構全面對比分析:性能、功耗、成本與生態系統

目錄標題X86、ARM與C86架構全面對比分析&#xff1a;性能、功耗、成本與生態系統一、架構概述與發展背景1.1 X86架構&#xff1a;PC與服務器市場的傳統霸主1.2 ARM架構&#xff1a;移動領域的王者與新興服務器力量1.3 C86架構&#xff1a;國產x86兼容的創新嘗試二、性能表現對比…

w嵌入式分享合集66

自己的原文哦~ https://blog.51cto.com/whaosoft/14132240 一、STM32的NRST管腳異常復位問題 這個問題是客戶對開發的平臺做EMS 浪涌測試的時候發生的&#xff0c;平臺上使用了一個STM32G474 RCT6 MCU 。在某個等級的EMS 測試中&#xff0c; 客戶發現MCU有時候會異常…

ZKmall開源商城的數據校驗之道:用規范守護業務基石

在電商系統里&#xff0c;數據就像流淌的血液 —— 用戶填的手機號、下單的商品數量、支付的金額&#xff0c;每一個數字、每一段文字都得靠譜。要是數據出了錯&#xff0c;輕則訂單下不了&#xff0c;重則錢貨兩空。ZKmall 開源商城作為一個分布式電商系統&#xff0c;每天要處…

QML實現數據可視化

界面樣式 項目開發流程 1.通過QtCreator創建一個Qt Quick插件,插件命名為CarPanMod; 2.通過QtCreator創建一個Qt Quick Application,命名為QmlPro; 3.在插件CarPanMod中實現條形圖,折線圖和餅狀圖的繪制; 4.在應用程序QmlPro中,添加插件的導入路徑; 5.在應用程序中,通過i…

實時計算 記錄

《大數據架構師》海量實時廣告流平臺架構設計與實踐 《架構師必備技能之集群資源評估.pdf》 參考&#xff1a; 大型廣告系統架構與實現 架構圖

gitee_流水線搭配 Dockerfile 部署vue項目

使用 gitee流水線搭配docker,編寫Dockerfile文件進行自動部署Vue項目 gitee流水線 基本配置跟另外一篇文章中類似 gitee_配置自動部署vue項目-CSDN博客 需要修改的只是腳本執行 # 構建階段腳本echo 清理舊文件 rm -rf dist echo 配置 Git 參數 git config --global http.pos…

Win10快速安裝.NET3.5

按Windows鍵輸入CONTROL打開“控制面板”點擊“程序”點擊“啟用或關閉Windows功能”勾選“.NET Framework3.5&#xff08;包括.NET2.0和3.0&#xff09;”點擊確定隨后選擇從更新下載&#xff08;具體提示忘記了&#xff09;&#xff0c;之后windows會自動安裝

Docker Compose 入門教程

一、Docker Compose 簡介 Docker Compose 是 Docker 官方提供的多容器編排工具&#xff0c;通過 YAML 文件&#xff08;docker-compose.yml&#xff09;定義應用程序的服務、網絡和卷&#xff0c;實現一鍵式容器管理。其核心優勢包括&#xff1a; 簡化多容器管理&#xff1a;通…

Tomcat架構深度解析:從Server到Servlet的全流程揭秘

第一章&#xff1a;Tomcat架構概述1.1 Tomcat的角色與定位&#xff1a;Web服務器 vs Servlet容器Tomcat 是什么&#xff1f;它既是一種輕量級 Web 服務器&#xff0c;也是一種符合 Java EE 規范的 Servlet 容器。Web服務器&#xff1a;類似 Nginx、Apache HTTP Server&#xff…

【Java web】HTTP 協議詳解

一、什么是 HTTP&#xff1f;—— 互聯網的 "快遞員"你有沒有想過&#xff0c;當你在瀏覽器輸入www.baidu.com并按下回車時&#xff0c;背后發生了什么&#xff1f;為什么幾秒鐘后就能看到百度首頁&#xff1f;這一切的背后&#xff0c;都離不開一個叫HTTP的 "快…