www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]一、Cortex M3的GPIO口特性 在介紹GPIO口功能前,有必要先說明一下M3的結(jié)構(gòu)框圖,這樣能夠更好理解總線結(jié)構(gòu)和GPIO所處的位置。Cortex M3結(jié)構(gòu)框圖 從圖中可以看出,GPIO口都是接在APB總線上的,而且M3具有兩個(gè)AHB到

一、Cortex M3的GPIO口特性
在介紹GPIO口功能前,有必要先說明一下M3的結(jié)構(gòu)框圖,這樣能夠更好理解總線結(jié)構(gòu)和GPIO所處的位置。

Cortex M3結(jié)構(gòu)框圖

從圖中可以看出,GPIO口都是接在APB總線上的,而且M3具有兩個(gè)AHB到APB橋,GPIO則直接接在AHB矩陣上,這樣可以減少CPU和DMA控制器之間的競爭沖入,獲得較高性能。APB總線橋配置為寫緩沖區(qū),使得CPU或DMA控制器可直接操作APB外設(shè),而無需等待總線寫操作完成。

M3數(shù)字I/O功能:
高速GPIO口,其寄存器被移到外設(shè)AHB總線,可以字節(jié),半字和字尋址。
位電平置位和清零寄存器允許單指令置位和清零一個(gè)端口的任意位。
所有GPIO口寄存器支持M3位帶操作。
整個(gè)端口值可以用一條指令寫入。
GPIO口寄存器可由GPDMA控制器進(jìn)行訪問,可以進(jìn)行DMA數(shù)據(jù)操作,使之與DMA請(qǐng)求同步。
單個(gè)I/O口方向可以控制。
所有I/O口在復(fù)位后默認(rèn)作為上拉輸入。(Why?因?yàn)槲⒖刂破鬟B接了很多設(shè)備,如果復(fù)位后作為輸出,則由于控制器電平狀態(tài)不定,可能會(huì)導(dǎo)致外圍設(shè)備產(chǎn)生動(dòng)作,從而產(chǎn)生不利影響,故復(fù)位后一半都作為輸入狀態(tài)。)
M3可產(chǎn)生中斷的數(shù)字端口:
PORT0 和 PORT2 端口的每個(gè)引腳都可以提供中斷功能;
每個(gè)端口上的中斷可被編程為上升沿、下降沿或邊沿產(chǎn)生中斷;
邊沿檢測是異步的,因此可以在沒有時(shí)鐘的情況下(例如掉電模式)操作。使用這種特性,就無需電平觸發(fā)中斷;
可掉電喚醒;
寄存器為軟件提供掛起的上升沿中斷、掛起的下降沿中斷和整個(gè)掛起的 GPIO中斷;
GPIO0 和 GPIO2 中斷與外部中斷 3 事件共用相同的 NVIC 通道。
二、GPIO口的寄存器描述
Cortex M3引腳的寄存器描述:


PINMODEx表示引腳模式選擇寄存器,在使用前要配置好。

引腳模式選擇寄存器位

PINMODEx

功能

復(fù)位后的值

00

引腳使能上拉電阻

00

01

中繼模式

10

引腳無片內(nèi)上拉或下拉電阻

11

引腳使能下拉電阻


中繼模式說明:當(dāng)引腳處于邏輯高電平,中繼模式能使能上拉電阻;當(dāng)引腳處于邏輯低電平時(shí),中繼模式會(huì)使能下拉電阻,這樣當(dāng)引腳配置為輸入且沒有外部驅(qū)動(dòng)時(shí),能夠保持上一個(gè)已知狀態(tài)。
PINSELx:功能選擇寄存器。用來設(shè)定PORT引腳的功能,當(dāng)PINSELx各位為0時(shí),才用作GPIO
端口。
FIOxDIR:GPIO口方向寄存器,單獨(dú)控制每個(gè)端口管腳的方向,可作為字節(jié)(8位),半字(16位)和字長(32位)的數(shù)據(jù)進(jìn)行訪問。
FIOxMASK:屏蔽寄存器。任何寫、讀的操作只在該寄存器對(duì)應(yīng)位為“0“時(shí)才有效。

FIOxPIN:管腳值寄存器。只要管腳不配置為ADC,其他所有方式都可以從該位讀出端口當(dāng)前的實(shí)際狀態(tài)。注:如果讀FIOPIN寄存器,那么不管物理引腳的狀態(tài)如何,在 FIOMASK
寄存器中被“1”屏蔽的位將始終讀出0。

FIOxSET:輸出引腳的狀態(tài)。寫 1 使相應(yīng)的端口引腳產(chǎn)生高電平。寫 0 沒有影響。讀該寄存器返回端口輸出寄存器的當(dāng)前內(nèi)容。只可以更改 FIOMASK 中為 0 的位,即非屏蔽位。

FIOxCLR:控制輸出引腳的狀態(tài)。寫 1 使相應(yīng)的端口引腳產(chǎn)生低電平。寫 0 沒有影響。只可以更改 FIOMASK 中為 0 的位,即非屏蔽位。
2.1GPIO端口方向寄存器FIOxDIR(FIO0DIR??FIO4DIR- 0x2009 C000??0x2009 C080)
當(dāng)引腳被配置為 GPIO功能時(shí),該寄存器可用來控制引腳的方向。勿必根據(jù)引腳功能來設(shè)置每個(gè)引腳的方向。
注:GPIO引腳 P0.29和P0.30 與USB D+/-引腳共用,并且具有相同的方向。如果FP0DIR位29或位30在FIO0DIR寄存器中被配置為零,則P0.29 和P0.30都為輸入。如果FP0DIR位29和位30被配置為1,則P0.29和P0.30都為輸出。

高速GPIO端口方向寄存器位描述

符號(hào)

描述

復(fù)位值

31:0(字長數(shù)據(jù))

FP0DIR

FP1DIR

FP2DIR

FP3DIR

FP4DIR

0

1

控制的引腳為輸入引腳

控制的引腳為輸出引腳

0


字和半字的操作基本類似,只是可以通過8位寄存器或者16位的寄存器分別控制方向而已,這里不再解釋,請(qǐng)參看《深入淺出Cortex-M3 LPC1700》.

2.2GPIO端口輸出設(shè)置寄存器FIOxSET(FIO0SET??FIO7SET - 0x2009 C018??0x2009 C098)
當(dāng)引腳在輸出模式中被配置為 GPIO 時(shí),該寄存器在端口引腳產(chǎn)生高電平輸出。向該寄存器的某些位寫入“1”時(shí),對(duì)應(yīng)的引腳產(chǎn)生高電平。寫入“0”無效。如果需要引腳輸出低電平或第二種功能,那么寫 1 到 FIOxSET 的相應(yīng)位無效。 讀FIOxSET 寄存器返回該寄存器的值,該值由前一次對(duì) FIOxSET 和 FIOxCLR(或前面提到的 FIOxPIN)的寫操作確定,它不反映任何外部環(huán)境對(duì) I/O引腳的影響。 通過 FIOxSET 寄存器訪問的端口引腳受到 FIOxMASK 寄存器相應(yīng)位的限制。

高速GPIO端口輸出設(shè)置寄存器位描述

符號(hào)

描述

復(fù)位值

31:0(字長數(shù)據(jù))

FP0SET

FP1SET

FP2SET

FP3SET

FP4SET

0

1

控制的引腳輸出不改變
控制的引腳輸出被設(shè)為高電平

0


2.3GPIO端口輸出清零寄存器FIOxCLR(FIO0CLR??FIO07CLR - 0x2009 C01C??0x2009 C09C)
當(dāng)引腳在輸出模式中被配置為 GPIO 時(shí),該寄存器在端口引腳產(chǎn)生低電平輸出。向某些位寫入“1”會(huì)使相應(yīng)的引腳產(chǎn)生低電平,同時(shí)清零 FIOxSET 寄存器的相應(yīng)位。寫入“0”無效。如果引腳被配置為輸入或其它功能,那么寫 FIOxCLR 對(duì)引腳沒有影響。 通過FIOxCLR寄存器訪問的端口引腳受到FIOxMASK寄存器相應(yīng)位的限制.

高速GPIO端口輸出清零寄存器位描述

符號(hào)

描述

復(fù)位值

31:0(字長數(shù)據(jù))

FP0CLR

FP1CLR

FP2CLR

FP3CLR

FP4CLR

0

1

控制的引腳輸出不改變
控制的引腳輸出被設(shè)為低電平

0


2.4GPIO端口引腳值寄存器FIOxPIN(FIO0PIN??FIO7PIN- 0x2009 C014??0x2009 C094)
該寄存器提供了端口引腳的值,可配置這些值來執(zhí)行僅為數(shù)字的功能。該寄存器將給出引腳的當(dāng)前邏輯值,而不管引腳是否配置為輸入或輸出,或作為 GPIO或作為其它可選的數(shù)字功能。
例如,特殊的端口引腳可能具有 GPIO輸入、GPIO 輸出、UART 接收和 PWM 輸出等可選功能。無論該引腳配置成何種功能,都可以從相應(yīng)的 FIOxPIN 寄存器中讀出其當(dāng)前的邏輯狀態(tài)。 如果引腳配置為模擬功能,當(dāng)選擇了模擬配置時(shí),引腳狀態(tài)不能被讀出。將引腳選擇用作A/D輸入會(huì)斷開與引腳數(shù)字部分的連接。在這種情況下,從 FIOxPIN 寄存器中讀出的引腳值無效。
寫 FIOxPIN 寄存器時(shí), FIOxPIN 寄存器的值會(huì)保存到端口輸出寄存器,而無需使用 FIOxSET和 FIOxCLR寄存器來獲得整個(gè)寫入值。由于這種特性影響整個(gè)端口,因此在應(yīng)用中時(shí)要小心。 通過 FIOxPIN 寄存器訪問的端口引腳受到 FIOxMASK 寄存器相應(yīng)位的限制。 只有在屏蔽寄存器中用0 屏蔽的引腳與高速 GPIO 端口引腳值寄存器的當(dāng)前內(nèi)容相互關(guān)聯(lián)。

高速GPIO端口引腳值寄存器位描述

符號(hào)

描述

復(fù)位值

31:0(字長數(shù)據(jù))

FP0VAL

FP1VAL

FP2VAL

FP3VAL

FP4VAL

0

1

控制的引腳輸出設(shè)為低電平
控制的引腳輸出設(shè)為高電平

0


2.5高速GPIO端口屏蔽寄存器FIOxMASK (FIO0MASK??FIO7MASK - 0x2009 C010??0x2009 C090)
該寄存器用來屏蔽某些端口引腳,被屏蔽的引腳將無法通過 FIOxPIN、 FIOxSET 或 FIOxCLR寄存器寫訪問。當(dāng)讀FIOxPIN 寄存器時(shí),屏蔽寄存器還將過濾相應(yīng)端口的內(nèi)容。
通過讀或?qū)懺L問,該寄存器中為“0”的位使能相應(yīng)物理引腳的訪問。如果該寄存器中的位為“1”,則相應(yīng)位將不會(huì)通過寫訪問改變,并且讀操作時(shí)將不會(huì)在更新的 FIOxPIN 寄存器中反映出來。

高速GPIO端口引腳值寄存器位描述

符號(hào)

描述

復(fù)位值

31:0(字長數(shù)據(jù))

FP0VAL

FP1VAL

FP2VAL

FP3VAL

FP4VAL

0

1

控制的引腳輸出設(shè)為低電平
控制的引腳輸出設(shè)為高電平

0


2.1GPIO端口方向寄存器FIOxDIR(FIO0DIR??FIO4DIR- 0x2009 C000??0x2009 C080)
當(dāng)引腳被配置為 GPIO功能時(shí),該寄存器可用來控制引腳的方向。勿必根據(jù)引腳功能來設(shè)置每個(gè)引腳的方向。
注:GPIO引腳 P0.29和P0.30 與USB D+/-引腳共用,并且具有相同的方向。如果FP0DIR位29或位30在FIO0DIR寄存器中被配置為零,則P0.29 和P0.30都為輸入。如果FP0DIR位29和位30被配置為1,則P0.29和P0.30都為輸出。

高速GPIO端口方向寄存器位描述

符號(hào)

描述

復(fù)位值

31:0(字長數(shù)據(jù))

FP0DIR

FP1DIR

FP2DIR

FP3DIR

FP4DIR

0

1

控制的引腳為輸入引腳
控制的引腳為輸出引腳

0


字和半字的操作基本類似,只是可以通過8位寄存器或者16位的寄存器分別控制方向而已,這里不再解釋,請(qǐng)參看《深入淺出Cortex-M3 LPC1700》.

2.2GPIO端口輸出設(shè)置寄存器FIOxSET(FIO0SET??FIO7SET - 0x2009 C018??0x2009 C098)
當(dāng)引腳在輸出模式中被配置為 GPIO 時(shí),該寄存器在端口引腳產(chǎn)生高電平輸出。向該寄存器的某些位寫入“1”時(shí),對(duì)應(yīng)的引腳產(chǎn)生高電平。寫入“0”無效。如果需要引腳輸出低電平或第二種功能,那么寫 1 到 FIOxSET 的相應(yīng)位無效。 讀FIOxSET 寄存器返回該寄存器的值,該值由前一次對(duì) FIOxSET 和 FIOxCLR(或前面提到的 FIOxPIN)的寫操作確定,它不反映任何外部環(huán)境對(duì) I/O引腳的影響。 通過 FIOxSET 寄存器訪問的端口引腳受到 FIOxMASK 寄存器相應(yīng)位的限制。

高速GPIO端口輸出設(shè)置寄存器位描述

符號(hào)

描述

復(fù)位值

31:0(字長數(shù)據(jù))

FP0SET

FP1SET

FP2SET

FP3SET

FP4SET

0

1

控制的引腳輸出不改變
控制的引腳輸出被設(shè)為高電平

0


2.3GPIO端口輸出清零寄存器FIOxCLR(FIO0CLR??FIO07CLR - 0x2009 C01C??0x2009 C09C)
當(dāng)引腳在輸出模式中被配置為 GPIO 時(shí),該寄存器在端口引腳產(chǎn)生低電平輸出。向某些位寫入“1”會(huì)使相應(yīng)的引腳產(chǎn)生低電平,同時(shí)清零 FIOxSET 寄存器的相應(yīng)位。寫入“0”無效。如果引腳被配置為輸入或其它功能,那么寫 FIOxCLR 對(duì)引腳沒有影響。 通過FIOxCLR寄存器訪問的端口引腳受到FIOxMASK寄存器相應(yīng)位的限制.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉