![](https://file1.elecfans.com//web2/M00/9D/6B/wKgZomToARSAXFQjAABBdvwiMRc428.gif)
10
I/O端口配置
有兩種方法可以設(shè)置端口并將其用作GPIO:一種是使用端口控制寄存器 (PCNTR1),另一種是使用PmnPFS寄存器。
方法1:端口控制寄存器 (PCNTR1)
? 通過(guò)向端口控制寄存器1 (PCNTR1) 的端口方向位 (PDRn) 寫(xiě)入“1”,選擇一個(gè)引腳作為輸出。
? 端口方向位 (PDRn) 是可讀寫(xiě)的。將該值設(shè)置為“1”將選擇該引腳作為輸出。I/O端口的默認(rèn)狀態(tài)為“0”(輸入)。可以在RA6 MCU上讀取端口方向寄存器。
? 相應(yīng)端口控制寄存器 (PCNTR1) 中的端口輸出數(shù)據(jù)位 (PODRn) 是可讀寫(xiě)的。讀取PODR時(shí),也會(huì)讀取輸出數(shù)據(jù)鎖存器的狀態(tài)(不是引腳電平)。
? 端口控制寄存器2 (PCNTR2) 中的端口輸入位 (PIDRn) 是只讀的。讀取PCNTR2寄存器中的PIDRn位以讀取引腳狀態(tài)。
方法2:端口mn引腳功能選擇 (PmnPFS) 寄存器
? 端口模式寄存器 (PMR) 是可讀寫(xiě)的,用于指定各個(gè)引腳是用作GPIO還是用作外設(shè)引腳。復(fù)位后,所有PMR寄存器均置0,這會(huì)將所有引腳都設(shè)置為GPIO。如果PMR寄存器置1,則該對(duì)應(yīng)的引腳將用于實(shí)現(xiàn)外設(shè)功能。外設(shè)功能由該引腳的MPC設(shè)置定義。
? 將引腳設(shè)置為輸出時(shí),建議先將所需的端口輸出值寫(xiě)入數(shù)據(jù)鎖存器,然后將方向寄存器設(shè)置為輸出。盡管在所有系統(tǒng)中此操作都不太重要,但這可以防止在設(shè)置端口時(shí)出現(xiàn)意外的輸出毛刺。
通常,使用PCNTR1配置端口有助于提高訪問(wèn)速度,但可用的配置功能較少。使用PmnPFS寄存器將獲得更多可用的配置功能,但訪問(wèn)速度較慢。
Renesas FSP提供了引腳配置工具,以在復(fù)位后配置GPIO引腳,如下所示。配置GPIO后,可以在FSP中使用HAL層API對(duì)該GPIO進(jìn)行控制。
![](https://file1.elecfans.com//web2/M00/9D/6B/wKgZomToARSAJHweAAKfAbpH3sM451.png)
圖24. 使用FSP配置器將P706配置為輸出和低電平
10.2.1 內(nèi)部上拉
? 端口0到9、A和B上的大多數(shù)引腳都可以選擇使能上拉電阻。上拉由每個(gè)端口mn引腳功能選擇 (PmnPFS) 寄存器中的上拉 (PCR) 位控制。每個(gè)PmnPFS寄存器中的PCR位用于控制端口上的相應(yīng)引腳。
? 首先,必須通過(guò)PmnPFS寄存器中的相關(guān)位將該引腳設(shè)置為輸入。將PCR位置“1”以使能上拉,將其置“0”以禁用上拉。
? 復(fù)位后,會(huì)將所有PCR寄存器清零,因此將禁用所有上拉電阻。
? 每當(dāng)將某個(gè)引腳指定為外部總線引腳、GPIO輸出或外設(shè)功能輸出引腳時(shí),上拉就會(huì)自動(dòng)關(guān)閉。
10.2.2 漏極開(kāi)路輸出
? 配置為輸出的引腳通常用作CMOS輸出。
? 端口0到9、A和B上的大多數(shù)引腳都可以選擇配置為NMOS漏極開(kāi)路輸出。
? 每個(gè)端口mn引腳功能選擇 (PmnPFS) 寄存器中的N溝道漏極開(kāi)路控制 (NCODR) 位控制哪些引腳以漏極開(kāi)路模式工作。將每個(gè)寄存器中的適用位置“1”會(huì)使輸出形式變?yōu)槁O開(kāi)路。將每個(gè)寄存器中的適用位置“0”會(huì)將端口設(shè)置為CMOS輸出。
10.2.3 驅(qū)動(dòng)能力
? 端口1到9、A和B(P200和P201除外)上的每個(gè)引腳都可以選擇使能低、中或高驅(qū)動(dòng)能力輸出。驅(qū)動(dòng)能力的切換由每個(gè)端口mn引腳功能選擇 (PmnPFS) 寄存器中的驅(qū)動(dòng)能力控制寄存器 (DSCR) 位控制。
? 復(fù)位后,會(huì)將所有DSCR寄存器清零,因此會(huì)將所有引腳設(shè)置為低驅(qū)動(dòng)能力輸出。設(shè)置“00”以外的值會(huì)更改所選引腳的輸出的驅(qū)動(dòng)能力。
? 所有引腳的最大總輸出為80mA。
? 驅(qū)動(dòng)能力的差異如下所示:
![](https://file1.elecfans.com//web2/M00/9D/6B/wKgZomToARSAarDtAAF2NgTl6BQ985.png)
點(diǎn)擊可查看大圖
輸出驅(qū)動(dòng)能力可能會(huì)對(duì)電路板設(shè)計(jì)的整體性能造成重大影響。為每個(gè)輸出選擇驅(qū)動(dòng)能力時(shí),應(yīng)考慮以下幾點(diǎn)。
? 建議首先將所有引腳設(shè)置為低驅(qū)動(dòng)能力(默認(rèn))并評(píng)估性能。
? 根據(jù)電路板布局的不同,驅(qū)動(dòng)能力設(shè)置為中或高的引腳可能會(huì)產(chǎn)生較高的EMI輻射。
? 較長(zhǎng)的走線可能需要更高的驅(qū)動(dòng)能力,才能使信號(hào)正確傳播到接收器。
未完待續(xù)
推薦閱讀
RA6快速設(shè)計(jì)指南 [10] 存儲(chǔ)器 (2)
RA6快速設(shè)計(jì)指南 [11] 存儲(chǔ)器 (3)
RA6快速設(shè)計(jì)指南 [12] 寄存器寫(xiě)保護(hù),I/O端口配置 (1)
原文標(biāo)題:RA6快速設(shè)計(jì)指南 [13] I/O端口配置 (2)
文章出處:【微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
mcu
+關(guān)注
關(guān)注
146文章
17366瀏覽量
352871 -
瑞薩
+關(guān)注
關(guān)注
35文章
22312瀏覽量
86841
原文標(biāo)題:RA6快速設(shè)計(jì)指南 [13] I/O端口配置 (2)
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
I/O接口與I/O端口的區(qū)別
物聯(lián)網(wǎng)中常見(jiàn)的I/O擴(kuò)展電路設(shè)計(jì)方案_IIC I/O擴(kuò)展芯片
![物聯(lián)網(wǎng)中常見(jiàn)的<b class='flag-5'>I</b>/<b class='flag-5'>O</b>擴(kuò)展電路設(shè)計(jì)方案_IIC <b class='flag-5'>I</b>/<b class='flag-5'>O</b>擴(kuò)展芯片](https://file1.elecfans.com//web2/M00/08/94/wKgaombyMi-Ad3UTAAFIRSS4V8w425.jpg)
NCA9555帶中斷的16位I2C總線I/O端口英文手冊(cè)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [13] 運(yùn)行應(yīng)用項(xiàng)目
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [<b class='flag-5'>13</b>] 運(yùn)行應(yīng)用項(xiàng)目](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [11] 配置RA6T2 ADC模塊 (8)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [11] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (8)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [10] 配置RA6T2 ADC模塊 (7)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [10] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (7)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [9] 配置RA6T2 ADC模塊 (6)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [9] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (<b class='flag-5'>6</b>)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
軟件可配置模擬 I/O 的設(shè)計(jì)理念
![軟件可<b class='flag-5'>配置</b>模擬 <b class='flag-5'>I</b>/<b class='flag-5'>O</b> 的設(shè)計(jì)理念](https://file1.elecfans.com/web2/M00/D3/35/wKgZomYkgl2AT15uAACb2eyhUyo629.jpg)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [8] 配置RA6T2 ADC模塊 (5)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [8] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (5)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [7] 配置RA6T2 ADC模塊 (4)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [7] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (4)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [6] 配置RA6T2 ADC模塊 (3)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [<b class='flag-5'>6</b>] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (3)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [5] 配置RA6T2 ADC模塊 (2)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [5] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (<b class='flag-5'>2</b>)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [4] 配置RA6T2 ADC模塊 (1)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [4] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (1)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
CK-RA6M5上的RA AWS云連接,帶蜂窩網(wǎng)絡(luò)-入門指南
![CK-<b class='flag-5'>RA6</b>M5上的<b class='flag-5'>RA</b> AWS云連接,帶蜂窩網(wǎng)絡(luò)-入門<b class='flag-5'>指南</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論