在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

使用寄存器點亮LED燈

瑞薩MCU小百科 ? 來源:野火電子 ? 2025-05-28 17:37 ? 次閱讀

第7章

第一個實驗:用寄存器點亮LED

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

《RA6M5 Group User’s Manual:Hardware》

《RA4M2 Group User’s Manual:Hardware》

《RA2L1 Group User’s Manual:Hardware》

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

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

7.1IOPORT簡介

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

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

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

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

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

控制引腳的輸入上拉電阻

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

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

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

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

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

7.2IOPORT的框圖分析

RA6M5、RA4M2、RA2L1這三者的IOPORT模塊框圖結構是基本一致的。

以RA6M5為例,下圖是RA6M5的外設IOPORT的功能結構框圖,標有字母A處表示的是芯片實際引出 IO引腳。

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

接下來我們對IOPORT外設的結構框圖進行分析,將不難得出IOPORT有如下幾種工作模式:

通用輸入輸出(GPIO)模式

輸入模式(浮空/上拉)

輸出模式(推挽/開漏)

模擬輸入功能模式

復用功能模式

7.2.1

IO端口方向

見圖中標注①處。

PDR(Port Direction Register)是端口方向寄存器,它控制端口的GPIO方向。當IO引腳需要控制輸出高電平或者低電平時,可設置引腳的GPIO方向為GPIO輸出;而當需要讀取IO引腳的電平時,可設置引腳的GPIO方向為GPIO輸入。

7.2.2

IO輸入上拉控制

見圖中標注②處。

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

7.2.3

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

見圖中標注③處。

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

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

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

7.2.4

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

見圖中標注④處。

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

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

圖中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)是事件輸出復位寄存器(該寄存器我們暫且忽略它)。

7.2.5

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

見圖中標注⑤處。

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

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

7.2.6

模擬輸入模式

見圖中標注⑥處。

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

當使用ADC功能時,需將引腳配置為模擬輸入模式。

7.2.7

端口模式控制和外設復用選擇

見圖中標注⑦處。

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

或者配置作為復用外設功能引腳。

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

7.2.8

IO邊沿檢測與中斷

見圖中標注⑧處。

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

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

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

    關注

    22

    文章

    1594

    瀏覽量

    109318
  • 寄存器
    +關注

    關注

    31

    文章

    5419

    瀏覽量

    123239
  • 瑞薩
    +關注

    關注

    36

    文章

    22366

    瀏覽量

    87697
  • C語言
    +關注

    關注

    180

    文章

    7630

    瀏覽量

    140168
  • 引腳
    +關注

    關注

    16

    文章

    1539

    瀏覽量

    52279

原文標題:第一個實驗:用寄存器點亮 LED 燈——瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南(18)

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    寄存器是什么?怎么操作寄存器點亮LED

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

    寄存器點亮led

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

    如何用STM32F429寄存器點亮LED

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

    如何使用寄存器點亮LED

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

    怎樣使用寄存器點亮LED

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

    寄存器點亮LED

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

    使用寄存器點亮LED

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

    如何使用寄存器點亮LED

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

    ONE STM32單片機使用寄存器點亮LED

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

    3、初識stm32——GPIO

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

    GPIO輸出——使用FSP庫點亮LED

    關于 IOPORT 的詳細分析,我們不再贅述,請讀者參考前面“第一個實驗:用寄存器點亮LED”章節(jié)。
    的頭像 發(fā)表于 02-15 15:43 ?1395次閱讀
    GPIO輸出——使用FSP庫<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    使用STM32寄存器點亮LED

    事先聲明哦,我也是最近才開始學32的,不過我會盡可能詳細的講解這些小知識點.
    的頭像 發(fā)表于 05-24 14:26 ?1988次閱讀
    使用STM32<b class='flag-5'>寄存器</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>
    主站蜘蛛池模板: 成人综合网站 | 亚洲一级免费视频 | 免费黄色欧美 | 男人操女人视频在线观看 | 91av视频免费在线观看 | 最新eeuss影院第256页 | 天天做天天爱天天做天天吃中 | 天堂网在线最新版官网 | 亚洲欧美日韩色图 | 色综合久久久高清综合久久久 | 美女张开腿让男人桶爽 | 午夜在线播放视频 | 久久久久国产成人精品亚洲午夜 | 亚洲a免费| 成人综合网址 | 欧美精品成人a多人在线观看 | 欧美三级在线免费观看 | 久草视频这里只有精品 | 免费人成黄页在线观看日本 | 日产精品卡二卡三卡四卡无卡乱码 | 四虎成人影院网址 | 天堂中文最新版www 天堂资源8中文最新版在线 | 日本高清视频色wwwwww色 | 日本黄色电影在线 | 色播图片 | 亚洲午夜免费 | 国产一级在线观看 | 日本天堂影院在线播放 | 皇帝受h啪肉np文 | 亚洲2020天天堂在线观看 | avtom影院永久转四虎入口 | 亚洲男人的天堂在线播放 | 欲色视频 | 九色视频播放 | 粉嫩尤物在线456 | 美女视频黄a视频美女大全 美女视频一区二区 | 色偷偷91综合久久噜噜 | www.三级.com| 亚洲一区二区三区在线视频 | www在线观看 | 欧美大片国产在线永久播放 |