




已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
I/O口工作模式:1.高阻輸入 輸入模式的結(jié)構(gòu)比較簡(jiǎn)單,就是一個(gè)帶有施密特觸發(fā)輸入(Schmitt-triggered input)的三態(tài)緩沖器(U1),并具有很高的阻抗。施密特觸發(fā)輸入的作用是能將緩慢變化的或者是畸變的輸入脈沖信號(hào)整形成比較理想的矩形脈沖信號(hào)。 執(zhí)行 GPIO管腳讀操作時(shí),在讀脈沖(Read Pulse)的作用下會(huì)把管腳(Pin)的當(dāng)前電平狀態(tài)讀到內(nèi)部總線上(Internal Bus)。2.推挽輸出 推挽電路是兩個(gè)參數(shù)相同的三極管或MOSFET,以推挽方式存在于電路中,各負(fù)責(zé)正負(fù)半周的波形放大任務(wù),電路工作時(shí),兩只對(duì)稱的功率開(kāi)關(guān)管每次只有一個(gè)導(dǎo)通,所以導(dǎo)通損耗小、效率高. 在推挽輸出模式下,GPIO還具有回讀功能,實(shí)現(xiàn)回讀功能的是一個(gè)簡(jiǎn)單的三態(tài)門 U2。注意:執(zhí)行回讀功能時(shí),讀到的是管腳的輸出鎖存狀態(tài),而不是外部管腳 Pin的狀態(tài)。3.開(kāi)漏輸出 開(kāi)漏是用來(lái)連接不同電平的器件,匹配電平用的,因?yàn)殚_(kāi)漏引腳不連接外部的上拉電阻時(shí),只能輸出低電平,如果需要同時(shí)具備輸出高電平的功能,則需要接上拉電阻,很好的一個(gè)優(yōu)點(diǎn)是通過(guò)改變上拉電源的電壓,便可以改變傳輸電平,比如加上上拉電阻就可以提供TTL/CMOS電平輸出等。 開(kāi)漏輸出和推挽輸出相比結(jié)構(gòu)基本相同,但只有下拉晶體管 T1而沒(méi)有上拉晶體管。同樣,T1實(shí)際上也是多組可編程選擇的晶體管。開(kāi)漏輸出的實(shí)際作用就是一個(gè)開(kāi)關(guān),輸出“1”時(shí)斷開(kāi)、輸出“0”時(shí)連接到 GND(有一定內(nèi)阻) 開(kāi)漏輸出和推挽輸出相比結(jié)構(gòu)基本相同,但只有下拉晶體管 T1而沒(méi)有上拉晶體管。同樣,T1實(shí)際上也是多組可編程選擇的晶體管。開(kāi)漏輸出的實(shí)際作用就是一個(gè)開(kāi)關(guān),輸出“1”時(shí)斷開(kāi)、輸出“0”時(shí)連接到 GND(有一定內(nèi)阻).4.鉗位二級(jí)管其作用是防止從外部管腳 Pin輸入的電壓過(guò)高或者過(guò)低。提高輸出電壓一種簡(jiǎn)單的做法:是先在 GPIO管腳上串聯(lián)一只二極管(如 1N4148),然后再接上拉電阻。/STM32的GPIO管腳深入分析: 概述:STM23的每個(gè)GPIO引腳都可以由軟件配置成輸出(推挽或開(kāi)漏),輸入(帶或不帶上拉或下拉)或復(fù)用的外設(shè)功能端口。多數(shù)GPIO引腳與數(shù)字或模擬的復(fù)用外設(shè)共用;除了具有模擬輸入(ADC)功能的管腳之外,其他的GPIO引腳都有大電流通過(guò)能力。tip: 每個(gè)IO口可以自由編程,單IO口寄存器必須要按32位bit被訪問(wèn)。 STM32的每個(gè)IO端口都有7個(gè)寄存器來(lái)控制一.具體如下8種模式:1)輸入浮空(這個(gè)輸入模式,輸入電平必須由外部電路確定,要根據(jù)具體電路,加外部上拉電阻或下拉電阻,可以做按鍵識(shí)別)2)輸入上拉(打開(kāi)IO內(nèi)部上拉電阻)3)輸入下拉(打開(kāi)IO內(nèi)部下拉電阻)4)模擬輸入(應(yīng)用ADC模擬輸入)5)開(kāi)漏輸出(輸出端相當(dāng)于三極管的集電極. 要得到高電平狀態(tài)需要上拉電阻才行. 適合于做電流型的驅(qū)動(dòng),其吸收電流的能力相對(duì)強(qiáng)(一般20ma以內(nèi)).能驅(qū)動(dòng)大電流和大電壓,LED就使用這種模式。)6)推挽式輸出(可以輸出高,低電平,連接數(shù)字器件。推挽式輸出輸出電阻小,帶負(fù)載能力強(qiáng))7)推挽式復(fù)用功能(復(fù)用是指該引腳打開(kāi)remap功能)8)開(kāi)漏復(fù)用功能(復(fù)用是指該引腳打開(kāi)remap功能)tip:上拉輸入模式:區(qū)別在于沒(méi)有輸入信號(hào)的時(shí)候默認(rèn)輸入高電平(因?yàn)橛腥跎侠O吕斎肽J剑簠^(qū)別在于沒(méi)有輸入信號(hào)的時(shí)候默認(rèn)輸入低電平(因?yàn)橛腥跸吕#?上拉就是使IO口接上拉電阻到VCC了,跟51一樣,下拉就是使IO口接下拉電阻到GND了, 浮空就是即不接上拉,也不接下拉,這樣的話IO默認(rèn)輸入電平不確定 )浮空輸入模式:顧名思義也就是輸入什么信號(hào)才是什么信號(hào),對(duì)于浮空輸入要保證有明確的輸入信號(hào)。庫(kù)函數(shù):GPIO_Mode_AIN 模擬輸入 GPIO_Mode_IN_FLOATING 浮空輸入 GPIO_Mode_IPD 下拉輸入 GPIO_Mode_IPU 上拉輸入 GPIO_Mode_Out_OD 開(kāi)漏輸出 GPIO_Mode_Out_PP 推挽輸出 GPIO_Mode_AF_OD 復(fù)用開(kāi)漏輸出 GPIO_Mode_AF_PP 復(fù)用推挽輸出二.TM32的每個(gè)IO端口都有7個(gè)寄存器來(lái)控制,具體七個(gè)寄存器如下:CRL 端口配置低寄存器 CRH 端口配置高寄存器IDR 端口輸入數(shù)據(jù)寄存器ODR 端口輸出數(shù)據(jù)寄存器BSRR 端口位設(shè)置/復(fù)位寄存器BRR 端口位復(fù)位寄存器LCKR 端口配置鎖定寄存器EVCR 事件控制寄存器MAPR 復(fù)用重映射和調(diào)試I/O配置寄存器EXTICR 外部中斷線路0-15配置寄存器tip:*CRL(端口配置低寄存器):復(fù)位值為0X4444 4444(4化成二進(jìn)制為0100),從上圖可以看到,復(fù)位值其實(shí)就是配置端口為浮空輸入模式得出:STM32的CRL控制著每個(gè)IO端口(AG)的低8位的模式。每個(gè)IO端口的位占用CRL的4個(gè)位,高兩位為CNF,低兩位為MODE。 CRL控制的是低8位輸出口,而CRH控制的是高8位輸出口在輸入模式(MODE1:0=00):00:模擬輸入模式01:浮空輸入模式(復(fù)位后的狀態(tài))10:上拉/下拉輸入模式11:保留在輸出模式(MODE1:000):00:通用推挽輸出模式01:通用開(kāi)漏輸出模式10:復(fù)用功能推挽輸出模式11:復(fù)用功能開(kāi)漏輸出模式MODEy1:0:端口x的模式位:00:輸入模式(復(fù)位后的狀態(tài))01:輸出模式,最大速度10MHz10:輸出模式,最大速度2MHz11:輸出模式,最大速度50MHz*端口輸入數(shù)據(jù)寄存器(GPIOx_IDR):tip: IDR是一個(gè)GPIOx_IDR的端口輸入數(shù)據(jù)寄存器的簡(jiǎn)稱(ODR是輸入數(shù)據(jù)寄存器的簡(jiǎn)稱),要想知道某個(gè)IO口的狀態(tài),就要讀這個(gè)寄存器,再?gòu)淖x出的寄存器值分析出某個(gè)管腳位的狀態(tài),就可以知道這個(gè)管腳的狀態(tài)了;IDR寄存器只用了低16位。該寄存器為只讀寄存器,并且 只能以16位的形式讀出。端口輸出數(shù)據(jù)寄存器(GPIOx_ODR): ODR是一個(gè)端口輸出數(shù)據(jù)寄存器,其作用就是控制端口的輸出,對(duì)ODR對(duì)應(yīng)寄存器位置1即對(duì)應(yīng)的GPIO管腳就會(huì)輸出高電平。該寄存器也只 用了低16位,并且該寄存器可讀可寫,如果讀的話,從該寄存器讀出來(lái)的數(shù)據(jù)都是0,所以讀是沒(méi)有意義的;只有寫是有效的。總結(jié):GPIOx_IDR是端口的輸入數(shù)據(jù)寄存器,GPIOx_ODR是端口的輸出寄存器,我們配置引腳的輸入輸出模式是通過(guò)GPIOx_CRL和GPIOx_CRH兩 個(gè)寄存器來(lái)配置的,但是每個(gè)端口的16個(gè)引腳它們有的可能是輸出模式,有的是輸入模式,甚至一會(huì)輸出一會(huì)輸入,而GPIOx_IDR和GPIOx_ODR兩個(gè)寄存器是以字模式(讀一次就是訪問(wèn)2個(gè)字節(jié),一個(gè)字等于2個(gè)字節(jié))訪問(wèn)而不能以bit模式(bit模式表示一次訪問(wèn)一個(gè)bit位,一個(gè)字節(jié)等于8個(gè)bit,一個(gè)字等于16個(gè)bit)訪問(wèn),GPIOx_IDR只能讀,而GPIOx_ODR可以讀寫。三.總結(jié)一下STM32的IO控制寄存器的作用:1)STM32的CRL和CRH寄存器主要是用來(lái)IO管腳的方向和速率以及何種驅(qū)動(dòng)模式2)STM32的ODR寄存器是用來(lái)控制IO口的輸出高電平還是低電平3)STM32的IDR寄存器主要是用來(lái)存儲(chǔ)IO口當(dāng)前的輸入狀態(tài)(高低電平)的。4)STM32的BSRR寄存器主要是用來(lái)直接對(duì)IO端某一位直接進(jìn)行設(shè)置和清除操作,通過(guò)這個(gè)寄存器可以方便的直接修改一個(gè)引腳的高低電平5)STM32的BRR寄存器用來(lái)清除某端口的某一位位0,如果該寄存器某位為0,那么它所對(duì)應(yīng)的那個(gè)引腳位不產(chǎn)生影響;如果該寄存器某位 為1 ,則清除對(duì)應(yīng)的引腳位。6)STM32的LCKR用來(lái)鎖定端口的配置,當(dāng)對(duì)相應(yīng)的端口位執(zhí)行了LOCK序列后,在下次系統(tǒng)復(fù)位之前將不能再更改端口位的配置。/GPIO的輸出模式下幾種速度的區(qū)別: 2MHz、10MHz、50MHz;這個(gè)又可以理解為輸出驅(qū)動(dòng)電路的不同響應(yīng)速度(芯片內(nèi)部在I/O口的輸出部分安排了多個(gè)響應(yīng)速度不同的輸出驅(qū)動(dòng)電路,用戶可以根據(jù)自己的需要選擇合適的驅(qū)動(dòng)電路,通過(guò)選擇速度來(lái)選擇不同的輸出驅(qū)動(dòng)電路模塊,達(dá)到最佳的噪聲控制和降低功耗的目的)。、/在STM32中如何配置片內(nèi)外設(shè)使用的IO端口:首先,一個(gè)外設(shè)在使用前,必須先配置和激活啟動(dòng)該外設(shè)的時(shí)鐘,比如GPIO端口B,那么就要激活GPIOB的時(shí)鐘,比如GPIOA,那么使用PA2管腳前,必須要前激活GPIOA端口的時(shí)鐘,只有啟動(dòng)時(shí)鐘后,這個(gè)外設(shè)才變得激活可用。到外設(shè)的輸入輸出功能基本有三種情況:1)管腳輸出:需要根據(jù)外圍電路的配置選擇對(duì)應(yīng)的管腳為復(fù)用功能的推挽輸出或復(fù)用功能的開(kāi)漏輸出。2)管腳輸入:則根據(jù)外圍電路的配置可以選擇浮空輸入、帶上拉輸入或帶下拉輸入。3)ADC對(duì)應(yīng)的管腳:配置管腳為模擬輸入。值得注意的是:這里如果把端口配置成復(fù)用輸出功能,則該引腳與它當(dāng)前連的信號(hào)電路斷開(kāi),和復(fù)用功能信號(hào)電路連接,所以將管腳配置成復(fù)用輸出功能后,如果只激活了該引腳的GPIO端口的時(shí)鐘,而忘記把復(fù)用功能的時(shí)鐘激活,那么它的輸出將不確定,這樣會(huì)產(chǎn)生異常的現(xiàn)。/APB2ENR寄存器是APB2總線上的外設(shè)時(shí)鐘使能寄存器/端口位設(shè)置/清除寄存器(GPIOx_BSRR) (x=A.E):位31:16 這些位只能寫入并只能以字(16位)的形式操作。 0:對(duì)對(duì)應(yīng)的ODRy位不產(chǎn)生影響 1:清除對(duì)應(yīng)的ODRy位為0 注:如果同時(shí)設(shè)置了BSy和BRy的對(duì)應(yīng)位,BSy位起作用。位15:0 這些位只能寫入并只能以字(16位)的形式操作。 0:對(duì)對(duì)應(yīng)的ODRy位不產(chǎn)生影響 1:設(shè)置對(duì)應(yīng)的ODRy位為1/端口位清除寄存器(GPIOx_BRR) (x=A.E):位31:16 保留。 BRy: 清除端口x的位y (y = 015) (Port x Reset bit y) 位15:0 這些位只能寫入并只能以字(16位)的形式操作。 0:對(duì)對(duì)應(yīng)的ODRy位不產(chǎn)生影響1:清除對(duì)應(yīng)的ODRy位為0/端口配置鎖定寄存器(GPIOx_LCKR) (x=A.E):當(dāng)執(zhí)行正確的寫序列設(shè)置了位16(LCKK)時(shí),該寄存器用來(lái)鎖定端口位的配置。位15:0用于鎖定GPIO端口的配置。在規(guī)定的寫入操作期間,不能改變LCKP15:0。當(dāng)對(duì)相應(yīng)的端口位執(zhí)行了LOCK序列后,在下次系統(tǒng)復(fù)位之前將不能再更改端口位的配置。 每個(gè)鎖定位鎖定控制寄存器(CRL, CRH)中相應(yīng)的4個(gè)位。位31:17 保留。 位16 LCKK:鎖鍵 (Lock key) 該位可隨時(shí)讀出,它只可通過(guò)鎖鍵寫入序列修改。 0:端口配置鎖鍵位激活 1:端口配置鎖鍵
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)視角下初中音樂(lè)課程創(chuàng)新教學(xué)設(shè)計(jì)與實(shí)踐論文
- 初中數(shù)學(xué)教學(xué)中學(xué)生解決問(wèn)題策略的培養(yǎng)研究論文
- 艾瑪克衛(wèi)生管理制度
- 苗木培植部管理制度
- 茶藝室規(guī)章管理制度
- 評(píng)估項(xiàng)目的模擬試題及答案解析
- 角同步訓(xùn)練 人教版七年級(jí)數(shù)學(xué)上冊(cè) (一)
- 角膜病變患者康復(fù)期心理干預(yù)的效果評(píng)估
- 設(shè)備維保服務(wù)合同(3篇)
- 設(shè)施大櫻桃栽培與病蟲害防治百問(wèn)百答閱讀記錄
- 移液器自校準(zhǔn)SOP
- Python入門基礎(chǔ)教程全套課件
- 接觸網(wǎng)工程施工方法及技術(shù)措施
- 天津大學(xué)年《儀器分析》期末試題B及答案
- 工業(yè)紙板(瓦楞紙箱企業(yè))全套管理規(guī)章制度匯編(組織架構(gòu)、崗位職責(zé)說(shuō)明、企業(yè)制度)
- 中考揚(yáng)州歷史復(fù)習(xí)資料
- 氣候類型及自然帶知識(shí)歸納表
- 餐飲銷售技巧八步驟精講PPT課件
- 利川市城市規(guī)劃區(qū)集體土地上房屋征收補(bǔ)償辦法
- 已頒國(guó)家職業(yè)技能標(biāo)準(zhǔn)目錄(1055個(gè))
- 壓力容器設(shè)計(jì)管理制度匯編
評(píng)論
0/150
提交評(píng)論