娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月05日(星期日)

正在發生

2021年01月05日 | STM32F103學習記錄-----GPIO篇

發布者:游走人間 來源: eefocus關鍵字:STM32F103  GPIO  模式 手機看文章 掃描二維碼
隨時隨地手機看文章
GPIO端口配置

32bit配置寄存器GPIOx_CRLGPIOx_CRH
32bit數據寄存器GPIOx_IDRGPIOx_ODR
32bit置位/復位寄存器GPIOx_BSRR
16bit復位寄存器GPIOx_BRR
32bit鎖定寄存器GPIOx_LCKR

GPIO可以被配置成多種模式

輸入方式代碼宏定義
浮空輸入GPIO_Mode_IN_FLOATING
上拉輸入GPIO_Mode_IPU
下拉輸入GPIO_Mode_IPD
模擬輸入GPIO_Mode_AIN
開漏輸出GPIO_Mode_Out_OD
推挽輸出GPIO_Mode_Out_PP
復用推挽輸出GPIO_Mode_AF_PP
復用開漏功能GPIO_Mode_AF_OD

GPIO整理后可分為三類:

1. 輸入模式(模擬/浮空/上拉/下拉):在輸入模式時,施密特觸發器打開,輸出被禁止,可通過輸入數據寄存器 GPIOx_IDR讀取 I/O 狀態。其中輸入模式,可設置為上拉、下拉、浮空和模擬輸入四種。上拉和下拉輸入很好理解,默認的電平由上拉或者下拉決定。浮空輸入的電平是不確定的,完全由外部的輸入決定,一般接按鍵的時候用的是浮空輸入。模擬輸入則用于 ADC 采集。

2. 輸出模式(推挽/開漏):在輸出模式中,推挽模式時雙 MOS 管以輪流方式工作,輸出數據寄存器GPIOx_ODR可控制 I/O 輸出高低電平。開漏模式時,只有 N-MOS 管工作,輸出數據寄存器可控制I/O輸出高阻態或低電平。輸出速度可配置,有 2MHz10MHz50MHz 的選項。此處的輸出速度即 I/O 支持的高低電平狀態最高切換頻率,支持的頻率越高,功耗越大,如果功耗要求不嚴格,把速度設置成最大即可。
在輸出模式時施密特觸發器是打開的,即輸入可用,通過輸入數據寄存器 GPIOx_IDR可讀取 I/O 的實際狀態。

3.復用功能(推挽/開漏):復用功能模式中,輸出使能,輸出速度可配置,可工作在開漏及推挽模式,但是輸出信號源于其它外設,輸出數據寄存器 GPIOx_ODR 無效;輸入可用,通過輸入數據寄存器可獲取 I/O 實際狀態,但一般直接用外設的寄存器來獲取該數據信號。


GPIO結構框圖
這里寫圖片描述

1. 保護二極管的工作方式:當引腳電壓高于VDD時,上方的二極管導通,當引腳電壓低于VSS 時,下方的二極管導通,防止不正常電壓引入芯片導致芯片燒毀。所以引腳的兩個保護二極管可以防止引腳外部過高或過低的電壓輸入。
2. P-MOS管和 N-MOS管:(1)輸出。當輸入的是高電平時,經過反向后,上方的 P-MOS 導通,下方的 N-MOS 關閉,對外輸出高電平;而當該結構中輸入低電平時,經過反向后,N-MOS 管導通,P-MOS 關閉,對外輸出低電平。當引腳高低電平切換時,兩個管子輪流導通,P 管負責灌電流,N 管負責拉電流,使其負載能力和開關速度都比普通的方式有很大的提高。這種工作方式就是所謂的推挽輸出模式

這里寫圖片描述

(2)當工作在開漏輸出模式時,上方的P-MOS 管完全不工作。當IO口輸入低電平(0)時,經過反向,N-MOS 管導通,使輸出接地;若當IO口輸入1(無法直接輸出為高電平)時,則 P-MOS 管和 N-MOS 管都關閉,所以引腳既不輸出高電平,也不輸出低電平,為高阻態。為正常使用時必須外部接上拉電阻。
推挽輸出模式一般應用在輸出電平為 0 和 3.3 伏而且需要高速切換開關狀態的場合。在 STM32 的應用中,除了必須用開漏模式的場合,我們都習慣使用推挽輸出模式。
開漏輸出模式一般應用在 I2C、SMBUS 通訊等需要“線與”功能的總線電路中。除此之外,還用在電平不匹配的場合,如需要輸出 5 伏的高電平,就可以在外部接一個上拉電阻,上拉電源為 5 伏,并且把 GPIO 設置為開漏模式,當輸出高阻態時,由上拉電阻和電源向外輸出 5 伏的電平。

這里寫圖片描述

3. 輸出數據寄存器:前面提到的雙 MOS 管結構電路的輸入信號,是由GPIO“輸出數據寄存器GPIOx_ODR”提供的,因此我們通過修改輸出數據寄存器的值就可以修改GPIO引腳的輸出電平。而“置位/復位寄存器GPIOx_BSRR”可以通過修改輸出數據寄存器的值從而影響電路的輸出。

4.復用功能輸出:“復用”是指 STM32 的其它片上外設對 GPIO 引腳進行控制,此時 GPIO 引腳用作該外設功能的一部分,算是第二用途。從其它外設引出來的“復用功能輸出信號”與 GPIO 本身的數據據寄存器都連接到雙 MOS 管結構的輸入中,通過圖中的梯形結構作為開關切換選擇。
例如我們使用 USART 串口通訊時,需要用到某個 GPIO引腳作為通訊發送引腳,這個時候就可以把該 GPIO 引腳配置成 USART 串口復用功能,由串口外設控制該引腳,發送數據。

1 // GPIOB 16 個 IO 全部輸出 0XFF
2 GPIOB->ODR = 0XFF;

5. 輸入數據寄存器:看GPIO結構框圖的上半部分,GPIO引腳經過內部的上、下拉電阻,可以配置成上/下拉輸入,然后再連接到施密特觸發器,信號經過觸發器后,模擬信號轉化為0、1的數字信號,然后存儲在“輸入數據寄存器GPIOx_IDR”中,通過讀取該寄存器就可以了解GPIO引腳的電平狀態。

1 // 讀取 GPIOB 端口的 16 位數據值
2 uint16_t temp;
3 temp = GPIOB->IDR;

6. 復用功能輸入:與“復用功能輸出”模式類似,在“復用功能輸入模式”時,GPIO 引腳的信號傳輸到STM32其它片上外設,由該外設讀取引腳狀態。同樣,如我們使用 USART 串口通訊時,需要用到某個GPIO引腳作為通訊接收引腳,這個時候就可以把該 GPIO 引腳配置成 USART串口復用功能,使 USART 可以通過該通訊引腳的接收遠端數據。

7.模擬輸入輸出:當 GPIO 引腳用于 ADC 采集電壓的輸入通道時,用作“模擬輸入”功能,此時信號是不經過施密特觸發器的,因為經過施密特觸發器后信號只有 0、1 兩種狀態,所以 ADC 外設要采集到原始的模擬信號,信號源輸入必須在施密特觸發器之前。類似地,當 GPIO 引腳用于 DAC 作為模擬電壓輸出通道時,此時作為“模擬輸出”功能,DAC 的模擬信號輸出就不經過雙 MOS 管結構,模擬信號直接輸出到引腳。



**寄存器版本**
#include "stm32f10x.h"
int main(void)
{
//開啟GPIOB端口時鐘
RCC_APB2ENR |= (1<<3);
//清空控制PB0的端口位
GPIOB_CRL &= ~( 0x0F<< (4*0));
//配置PB0為通用推挽輸出,速度為10M
GPIOB_CRL |= (1<<4*0);
//PB0輸出低電平
GPIOB_ODR &= ~(1<<0);
while(1);
}
//函數為空,目的是為了騙過編譯器不報錯
void SystemInit(void)
{
}

(1)startup_stm32f10x_hd.s中的SystemInit 需要由我們自己實現,即我們要編寫一個具有該名稱的函數,用來初始化STM32 芯片的時鐘,一般包括初始化 AHB、APB 等各總線的時鐘,需要經過一系列的配置 STM32才能達到穩定運行的狀態。其實這個函數在固件庫里面有提供,官方已經為我們寫好。但這個函數講的是寄存器所以需要自己定義一個void SystemInit(void),目的就是消除這個error。當然也可以直接注釋掉啟動文件中調用SystemInit的代碼
這里寫圖片描述
(2)因為燈是通過PB0控制的,因為需要配置成CPIOB_CRL是4個寄存器位控制一個引腳,所以[3:0]為0001,采用&=、|=等方法是為了不影響其他位的操作。
這里寫圖片描述
(3)直接操縱端口輸出寄存器GPIOB_ODR的最低位輸出0。
這里寫圖片描述
(4)開啟外設時鐘:所有的 GPIO都掛載到 APB2 總線上,具體的時鐘由 APB2外設時鐘使能寄存器(RCC_APB2ENR)來控制。
這里寫圖片描述


關鍵字:STM32F103  GPIO  模式 引用地址:STM32F103學習記錄-----GPIO篇

上一篇:STM32總結之GPIO編程過程
下一篇:關于STM32中的GPIO位設置的相關紀要與總結

推薦閱讀

Google安全團隊Project Zero公布了多個高危漏洞,稱這些漏洞幾乎影響到了市面上所有的微處理器,AMD、ARM還是英特爾的處理器都難以幸免,圍繞這些處理器打造的操作系統和硬件設備也會受到影響。?盡管最初認為iPhone可能不會受到英特爾、AMD和ARM芯片中發現的Meltdown的Spectre漏洞的影響,但事情也許并沒有那么樂觀,今天早些時候ARM公司發布的一份咨詢...
芯科技消息(文/方中同)存儲器模塊大廠威剛今(4)日公告2018年全年合并營收達314.48億元新臺幣(單位下同),展望2019年存儲器市場市況,威剛表示,第1季因CPU缺貨影響,DRAM需求轉淡,但隨著缺貨情勢逐步緩解,自第2季開始DRAM需求可望好轉。公司也持續看好NAND Flash價格修正后,可刺激終端產品搭載容量增長及提升SSD市場滲透率。威剛指出,2018年受惠D...
(文章來源:奶爸學園) 在上個世紀初,英國土木工程師布斯,作了個很簡單的試驗:將一塊手帕蒙嘴巴和鼻子上,用口對著手帕吸氣,結果使手帕附上了一層灰塵。于是,他制成了吸塵器,用強力電泵把空氣吸入軟管,通過布袋將灰塵過濾,這個發明就是我們今天所熟知的吸塵器的雛形。 隨著科學技術的進步,人工智能技術的普及,傳統的吸塵器功能越來越多,新...
近日,蔚來官方宣布,蔚來首款旗艦轎車將于 1 月 9 日 NIO Day 2020 正式發布。通過拉升蔚來官方全新轎車的預告圖曝光發現,新車或將搭載激光雷達,該車將是蔚來首款搭載全新自動駕駛技術的旗艦轎車。 激光雷達憑借更高的測量精度、更快的響應速度以及更遠的探測距離,成為高等級自動駕駛的關鍵技術之一。當前行業處于規模商用的前夜,行業有望在...

史海拾趣

問答坊 | AI 解惑

江民KV2006每日升級下載

http://www.luckfish.net/kv.htm…

查看全部問答∨

D題通信協議討論

本帖最后由 paulhyde 于 2014-9-15 09:34 編輯 各位: 有沒有成功的通信協議,大家一起探討啊。 不簡單啊。  …

查看全部問答∨

北大碩士因被辭退而跳樓,可悲可嘆

北大雙碩士因試用期過后未被錄用跳樓                深圳一名剛從北大畢業的雙碩士基金研究員,因試用期末位淘汰被解聘,而跳樓自殺。日前,涉事的大成基金回應媒體稱:該公司在職員工均正常 ...…

查看全部問答∨

電子競賽人應該具備的經驗

本帖最后由 paulhyde 于 2014-9-15 09:14 編輯 偶然看到這帖子,不知道說什么好,大家直接看吧..... 1.許多人死在第一天上午,卻毫無知覺. 第一天上午是一個選題的日子.一般每個組都有一個能力比較強的擔任組長.往往由于缺乏經驗,在方案選定 ...…

查看全部問答∨

西安易凡單片機培訓全程班

零基礎,四個月學習 周末 10月份前報名優惠400元 詳情請查看:http://www.efan-soft.com/mcu.html …

查看全部問答∨

AMD四核處理器Barcelona 4大設計規則

AMD公司的高級主管說,AMD公司面世的四核處理器Barcelona在設計時就聽取了客戶的聲音。 “長期以來,AMD公司都是圍繞著客戶進行創新。AMD公司的產品設計是為了解決了客戶在日常操作中遇到的各種問題,”AMD公司的南亞技術總監Tan See Ghee在上周的 ...…

查看全部問答∨

請將“#define K1_ON PORTB &= ~(1<<PB0)”分解解釋一下!

請將“#define K1_ON    PORTB &= ~(1<<PB0)”分解解釋一下! 謝謝!!…

查看全部問答∨

團購一塊MSP-EXP430FR5739開發板

團購一塊MSP-EXP430FR5739開發板做RF(射頻)開發,大部分RF芯片都1.8~3.6V,而手上只有一個Launchpad,不好進行測試。所以需要再一塊MSP-EXP430FR5739開發板, …

查看全部問答∨

北京通信公司招聘射頻工程師

射頻工程師 薪酬18W-25W左右 崗位職責: 1、負責射頻相關設計方案的可行性分析和實施; 2、負責射頻電路原理圖、PCB板設計,撰寫射頻調試方案、射頻概要設計以及射頻詳細設計方案,射頻電路調試,配合整機調試以及解決整機調試中遇到的射頻相關 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 桂林市| 三亚市| 海南省| 科技| 泸州市| 衡南县| 陵水| 阳山县| 保山市| 亚东县| 翁牛特旗| 普洱| 泸定县| 梁山县| 盐边县| 阿鲁科尔沁旗| 英德市| 米林县| 佛学| 云龙县| 桐城市| 黔东| 伊川县| 蓬莱市| 太仓市| 榆中县| 望谟县| 潞城市| 巩留县| 宁远县| 黄石市| 鲜城| 枣庄市| 肃南| 马鞍山市| 义马市| 洱源县| 古田县| 东方市| 杂多县| 清新县|