99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用寄存器點(diǎn)亮LED燈

瑞薩MCU小百科 ? 來源:野火電子 ? 2025-05-28 17:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第7章

第一個(gè)實(shí)驗(yàn):用寄存器點(diǎn)亮LED

本章內(nèi)容主要參考以下的芯片硬件手冊(cè):

《RA6M5 Group User’s Manual:Hardware》

《RA4M2 Group User’s Manual:Hardware》

《RA2L1 Group User’s Manual:Hardware》

學(xué)習(xí)本章時(shí),配合以上芯片手冊(cè)中的“19. I/O Ports”章節(jié)一起閱讀,效果會(huì)更佳,特別是涉及到寄存器說明的部分。本章內(nèi)容涉及到較多寄存器方面的深入內(nèi)容,對(duì)于初學(xué)者而言這些內(nèi)容豐富也較難理解,但非常有必要細(xì)讀研究、夯實(shí)基礎(chǔ)。

一般而言,點(diǎn)燈例程就像是剛學(xué)習(xí)C語(yǔ)言那時(shí)的“Hello World”程序那樣,是簡(jiǎn)單入門一塊單片機(jī)開發(fā)板的經(jīng)典例程。C語(yǔ)言的“Hello World”程序使用printf函數(shù)來打印“Hello World!”字符串,而我們學(xué)習(xí)這塊開發(fā)板的第一個(gè)例程的內(nèi)容卻不是打印“Hello World!”字符串,而是首先要學(xué)會(huì)控制芯片的引腳。我們?cè)诤竺娴牡?9章“SCI UART——串口通訊”里才會(huì)開始使用到printf函數(shù)來打印字符串,所以接下來就先來學(xué)習(xí)如何控制芯片的引腳吧!

7.1IOPORT簡(jiǎn)介

芯片的引腳可以被粗略地分為IO引腳和非IO引腳。非IO引腳就是電源引腳、晶振引腳等的那些引腳,他們不具備GPIO(通用輸入輸出)功能。而IO引腳是那些具備GPIO功能的引腳,他們可以配置為各種模式、實(shí)現(xiàn)各種通用功能。

IO引腳最基本的輸出功能是輸出高、低電平,實(shí)現(xiàn)開關(guān)控制(比如開關(guān)LED燈、繼電器或三極管等);最基本的輸入功能是檢測(cè)外部輸入電平(比如通過引腳電平的高低區(qū)分按鍵是否被按下)。

IO引腳還可以用來連接外部設(shè)備,與外部設(shè)備進(jìn)行通訊,發(fā)送控制指令,采集傳感器數(shù)據(jù)等等。

IOPORT即I/O Port,在代碼里面為了方便而寫成“IOPORT”,表示輸入輸出端口。IOPORT是RA MCU的一個(gè)外設(shè)模塊,它用來控制芯片的引腳,對(duì)每一個(gè)引腳進(jìn)行詳細(xì)的配置。具體地說,IOPORT 可以對(duì)引腳進(jìn)行以下幾個(gè)方面的配置:

配置引腳為普通IO功能,即輸入或輸出高電平或者低電平。

控制引腳的輸入上拉電阻。

控制引腳的驅(qū)動(dòng)能力。

控制引腳是否檢測(cè)上升沿/下降沿/雙邊沿。

控制引腳是否作為中斷輸入引腳。

配置引腳為模擬輸入功能或者將引腳在內(nèi)部連接到其他外設(shè)模塊。

瑞薩RA系列芯片的IO端口從理論上被分成16個(gè)組(0~9,A,B,C,D,E,F(xiàn)),每組有16個(gè)引腳(0~15)。然而,實(shí)際情況并非是完整的“16個(gè)組+每組16個(gè)引腳”的配置,而是因?qū)嶋H的芯片型號(hào)而異。以野火啟明6M5板子上的R7FA6M5BH3CFC芯片為例,它是LQFP 176-pin封裝,一共有176個(gè)引腳,其中的大部分引腳都是可以被IOPORT模塊控制的IO引腳。而這些IO引腳被分成了0~9,A,B共11組引腳(注:A,B是10,11的十六進(jìn)制表示),每組一般有16個(gè)引腳(引腳號(hào)為0~15),實(shí)際上有些組不到16個(gè)引腳。對(duì)于引腳數(shù)比較少的封裝(LQFP 144-pin和LQFP 100-pin封裝)來說,芯片的可用IO引腳數(shù)也會(huì)相對(duì)減少。

7.2IOPORT的框圖分析

RA6M5、RA4M2、RA2L1這三者的IOPORT模塊框圖結(jié)構(gòu)是基本一致的。

以RA6M5為例,下圖是RA6M5的外設(shè)IOPORT的功能結(jié)構(gòu)框圖,標(biāo)有字母A處表示的是芯片實(shí)際引出 IO引腳。

87f3a530-39e7-11f0-afc8-92fbcf53809c.png

接下來我們對(duì)IOPORT外設(shè)的結(jié)構(gòu)框圖進(jìn)行分析,將不難得出IOPORT有如下幾種工作模式:

通用輸入輸出(GPIO)模式

輸入模式(浮空/上拉)

輸出模式(推挽/開漏)

模擬輸入功能模式

復(fù)用功能模式

7.2.1

IO端口方向

見圖中標(biāo)注①處。

PDR(Port Direction Register)是端口方向寄存器,它控制端口的GPIO方向。當(dāng)IO引腳需要控制輸出高電平或者低電平時(shí),可設(shè)置引腳的GPIO方向?yàn)镚PIO輸出;而當(dāng)需要讀取IO引腳的電平時(shí),可設(shè)置引腳的GPIO方向?yàn)镚PIO輸入。

7.2.2

IO輸入上拉控制

見圖中標(biāo)注②處。

PCR(Pull-up Control Register)是上拉控制寄存器,它控制IO引腳的GPIO輸入是否使能上拉。當(dāng)設(shè)置為允許上拉時(shí),實(shí)際上會(huì)使得圖中字母B處的弱上拉電阻連接到VCC電源正極,從而使得引腳處于弱上拉輸入模式。需要注意的是,當(dāng)引腳的GPIO方向被配置為“輸入”時(shí),才可以設(shè)置使用弱上拉電阻。從上圖還可以看出,RA6M5的IO端口是沒有下拉電阻的。

7.2.3

IO驅(qū)動(dòng)能力和開漏輸出控制

見圖中標(biāo)注③處。

DSCR(Port Drive Capability Register)是端口驅(qū)動(dòng)能力寄存器,它控制IO引腳的驅(qū)動(dòng)能力。驅(qū)動(dòng)能

力指的是IO驅(qū)動(dòng)的電流強(qiáng)度和IO的最大翻轉(zhuǎn)速率。

NCODR(N-Channel Open-Drain Control Register)是開漏輸出控制寄存器,它控制IO引腳是否使能開漏模式。當(dāng)引腳的GPIO方向被配置為“輸出”時(shí),可以配置IO引腳輸出的模式是推挽輸出還是使能開漏輸出。

7.2.4

IO端口輸出數(shù)據(jù)

見圖中標(biāo)注④處。

這部分看似比較復(fù)雜,但是實(shí)際上EOSR、POSR、PORR、EORR的箭頭最終都指向PODR,這意味著操作EOSR、POSR、PORR、EORR這些寄存器,實(shí)際上將最終操作的是PODR寄存器。

圖中PODR(Port Output Data Regist)是端口輸出數(shù)據(jù)寄存器,它控制GPIO引腳輸出的電平。當(dāng)引腳的GPIO方向被配置為“輸出”時(shí),可以配置引腳輸出高電平或者低電平。

圖中EOSR(Event Output Set Register)是事件輸出置位寄存器(該寄存器我們暫且忽略它)。

圖中POSR(Pmn Output Set Register)是端口輸出數(shù)據(jù)寄存器,它控制GPIO引腳輸出為高電平,但卻不能控制輸出低電平。

圖中PORR(Pmn Output Reset Register)是端口輸出數(shù)據(jù)寄存器,它控制GPIO引腳輸出為低電平,但卻不能控制輸出高電平。

圖中EORR(Event Output Reset Register)是事件輸出復(fù)位寄存器(該寄存器我們暫且忽略它)。

7.2.5

IO端口輸入數(shù)據(jù)

見圖中標(biāo)注⑤處。

PIDR(Port Input Data Register)是端口輸入數(shù)據(jù)寄存器,可以通過它讀取GPIO引腳的電平狀態(tài)。

當(dāng)引腳的GPIO方向被配置為“輸入”時(shí),程序可以讀出輸入引腳的電平是高電平還是低電平。

7.2.6

模擬輸入模式

見圖中標(biāo)注⑥處。

ASELAnalog Input Enable)是模擬輸入選擇控制位,可以通過它來將引腳配置為模擬輸入模式。

當(dāng)使用ADC功能時(shí),需將引腳配置為模擬輸入模式。

7.2.7

端口模式控制和外設(shè)復(fù)用選擇

見圖中標(biāo)注⑦處。

PMR(Port Mode Control)是端口模式控制位,可以通過它來將引腳配置為GPIO輸入/輸出模式,

或者配置作為復(fù)用外設(shè)功能引腳。

PSEL(Peripheral Select)是外設(shè)復(fù)用選擇,可以通過它來選擇將引腳連接到某一個(gè)外設(shè)功能上。

7.2.8

IO邊沿檢測(cè)與中斷

見圖中標(biāo)注⑧處。

EOFR(Event on Falling/Event on Rising)是事件觸發(fā)選擇,可以通過它來讓引腳檢測(cè)邊沿信號(hào),如果檢測(cè)到指定信號(hào)將觸發(fā)一個(gè)事件。

ISEL(IRQ Input Enable)是IRQ輸入使能控制位,可以配置是否產(chǎn)生中斷。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1596

    瀏覽量

    109553
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5432

    瀏覽量

    124048
  • 瑞薩
    +關(guān)注

    關(guān)注

    36

    文章

    22376

    瀏覽量

    87928
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7631

    瀏覽量

    141115
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1676

    瀏覽量

    52668

原文標(biāo)題:第一個(gè)實(shí)驗(yàn):用寄存器點(diǎn)亮 LED 燈——瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南(18)

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南(19)使用寄存器點(diǎn)亮LED

    野火啟明6M5開發(fā)板的LED電路圖如圖所示。圖中RA6M5芯片的P400、P403、P404引腳分別通過一個(gè)2.2 KΩ的限流電阻連接到LED1、LED2、LED3這三個(gè)用戶
    的頭像 發(fā)表于 06-11 15:06 ?1072次閱讀
    瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南(19)使用<b class='flag-5'>寄存器</b><b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    寄存器是什么?怎么操作寄存器點(diǎn)亮LED?

    寄存器,是集成電路中非常重要的一種存儲(chǔ)單元,通常由觸發(fā)組成。在集成電路設(shè)計(jì)中,寄存器可分為電路內(nèi)部使用的寄存器和充當(dāng)內(nèi)外部接口的寄存器這兩
    的頭像 發(fā)表于 07-21 16:59 ?4554次閱讀
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b><b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>?

    寄存器點(diǎn)亮led

    本篇文章介紹了STM32的基本知識(shí),以及寄存器編程,映射等有關(guān)知識(shí),最后實(shí)例為用寄存器點(diǎn)亮led
    發(fā)表于 08-24 06:57

    如何用STM32F429寄存器點(diǎn)亮LED

    大家好,不知道大家看過我上個(gè)寫的文章沒有,如果沒有的話請(qǐng)大家去看看哦,都是整理的精化。好了讓我們繼續(xù),今天的主題是什么呢。沒錯(cuò)!就是這個(gè)萬惡的小LED,我們已經(jīng)接受完了理論知識(shí),現(xiàn)在準(zhǔn)備把它點(diǎn)亮!
    發(fā)表于 01-05 07:32

    如何使用寄存器點(diǎn)亮LED

    一、使用寄存器點(diǎn)亮LED1.建立相關(guān)文件新建總文件夾用來存放本次工程的所有程序,然后再建CORE、HARDWARE、OBJ、FWLIB、SYSTEM、USER這六個(gè)文件夾。1.1.建
    發(fā)表于 01-17 06:30

    怎樣使用寄存器點(diǎn)亮LED

    使用寄存器點(diǎn)亮LEDGPIO簡(jiǎn)介新的改變功能快捷鍵合理的創(chuàng)建標(biāo)題,有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個(gè)適合你的列表創(chuàng)建一個(gè)表格設(shè)定內(nèi)容居中
    發(fā)表于 01-24 07:48

    寄存器點(diǎn)亮LED

    寄存器點(diǎn)亮LED1、新建工程文件,選擇STM32F1032、
    發(fā)表于 02-24 07:33

    使用寄存器點(diǎn)亮LED

    stm32是我們會(huì)寄存器點(diǎn)亮LED
    發(fā)表于 12-01 15:30 ?0次下載

    如何使用寄存器點(diǎn)亮LED

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用寄存器點(diǎn)亮LED。
    發(fā)表于 04-15 17:00 ?10次下載
    如何使用<b class='flag-5'>寄存器</b><b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    ONE STM32單片機(jī)使用寄存器點(diǎn)亮LED

    使用寄存器點(diǎn)亮LEDGPIO簡(jiǎn)介新的改變功能快捷鍵合理的創(chuàng)建標(biāo)題,有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個(gè)適合你的列表創(chuàng)建一個(gè)表格設(shè)定內(nèi)容居中
    發(fā)表于 11-29 14:36 ?0次下載
    ONE STM32單片機(jī)使用<b class='flag-5'>寄存器</b><b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    3、初識(shí)stm32——GPIO

    寄存器點(diǎn)亮LED1、新建工程文件,選擇STM32F1032、
    發(fā)表于 01-04 19:00 ?0次下載
    3、初識(shí)stm32——GPIO

    GPIO輸出——使用FSP庫(kù)點(diǎn)亮LED

    關(guān)于 IOPORT 的詳細(xì)分析,我們不再贅述,請(qǐng)讀者參考前面“第一個(gè)實(shí)驗(yàn):用寄存器點(diǎn)亮LED”章節(jié)。
    的頭像 發(fā)表于 02-15 15:43 ?1471次閱讀
    GPIO輸出——使用FSP庫(kù)<b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    使用STM32寄存器點(diǎn)亮LED

    事先聲明哦,我也是最近才開始學(xué)32的,不過我會(huì)盡可能詳細(xì)的講解這些小知識(shí)點(diǎn).
    的頭像 發(fā)表于 05-24 14:26 ?2060次閱讀
    使用STM32<b class='flag-5'>寄存器</b><b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>