一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

瑞薩RA產(chǎn)品家族初學(xué)者指南-第10章(1)

瑞薩MCU小百科 ? 來源:未知 ? 2023-01-11 13:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

瑞薩RA產(chǎn)品家族初學(xué)者指南》系列文章已收錄成合集,歡迎點擊上方查看合集并訂閱!

10. 使用“靈活配置軟件包”通過

USB端口發(fā)送數(shù)據(jù)

您將在本章中學(xué)到以下內(nèi)容:

  • 如何使用RA產(chǎn)品家族微控制器的“靈活配置軟件包”的中間件來設(shè)置USB傳輸。

  • 如何在主機工作站上接收MCU發(fā)送的數(shù)據(jù)。

在本部分,我們將使用瑞薩RA產(chǎn)品家族微控制器的“靈活配置軟件包”(FSP)的USB中間件,在每次按下用戶按鈕S1時,將LED2的當(dāng)前狀態(tài)作為文本字符串通過USB端口發(fā)送到Windows工作站。與第9章不同的是,我們在此實驗中不使用實時操作系統(tǒng)和信號量,而使用全局變量來指示按鈕開關(guān)已激活和綠色LED2的狀態(tài)已更改。

LED狀態(tài)(ON或OFF)更新、USB端口的寫操作,以及保存按鈕按下時的信息的全局變量更新將在IRQ10的回調(diào)例程中完成。端口的寫操作將觸發(fā)USB傳輸,將LED的相關(guān)信息發(fā)送給主機。返回到hal_entry()函數(shù)內(nèi)部的無限循環(huán)后,將處理USB事件,并通過將全局變量設(shè)置為“false”和將下一個字符串及下一個LED電平分配給各自的變量來準(zhǔn)備LED狀態(tài)的下次更新。圖10-1詳細(xì)描繪了該程序的流程和中斷回調(diào)函數(shù)的流程。

該端口的大部分設(shè)置將在FSP配置器的圖形界面中完成,應(yīng)用程序程序員只需完成極少的編程工作。在執(zhí)行該練習(xí)中的編程任務(wù)時,可再次體驗到FSP給用戶提供的便利,即便在構(gòu)建如USB之類的復(fù)雜通信系統(tǒng)時也非常方便。

e545c77e-916d-11ed-bfe3-dac502259ad0.png

圖10-1:本章練習(xí)的流程圖

本章目錄

  1. 使用FSP配置器設(shè)置USB端口

  2. 創(chuàng)建代碼

  3. 在主機端設(shè)置接收器

10.1 使用FSP配置器設(shè)置USB端口

如果在完成上次練習(xí)后已關(guān)閉e2 studio,請再次打開并創(chuàng)建一個新項目。到目前為止您應(yīng)該已經(jīng)掌握了RA的相關(guān)知識,這里將不再贅述每個步驟,因為大部分需要執(zhí)行的任務(wù)在之前的實驗中已經(jīng)做過介紹。將新項目命名為MyUSBProject,在進(jìn)入“Device and Tools Selection”(器件和工具選擇)屏幕后,選擇EK-RA6M4作為電路板,我們將再次使用該評估板進(jìn)行實驗。在“Project Type Selection”(項目類型選擇)頁面,確保“Flat (Non-TrustZone) Project”(簡單(非TrustZone)項目)處于啟用狀態(tài),并確保RTOS Selection”(RTOS選擇)下的“No RTOS”(無RTOS)條目已激活。最后,在“Project Template Selection”(項目模板選擇)頁面上選擇“Bare Metal – Minimal”(裸機 – 最小化),然后單擊“Finish”(完成)。

在項目配置器已創(chuàng)建項目并顯示FSP配置器后,直接轉(zhuǎn)到“Stacks”(堆)選項卡。首先,我們需要添加用于連接到用戶按鈕S1的外部中斷的模塊。在“HAL/Common Stacks”(HAL/通用堆棧)窗格上,單擊“New Stack”(新堆),然后選擇“Driver→Input →External IRQ Driver on r_icu(驅(qū)動程序 → 輸入 → r_icu 上的外部IRQ驅(qū)動程序)。

e5bd5f32-916d-11ed-bfe3-dac502259ad0.jpg

圖10-2:首先添加S1中斷的驅(qū)動程序

在“Properties”(屬性)視圖中,將中斷的“Name”(名稱)修改為g_external_irq10,將它的“Channel”(通道)修改為10,以作為中斷使用的通道。啟用“Digital Filtering”(數(shù)字濾波)并將“Trigger”(觸發(fā)器)設(shè)置為“Falling”(下降)。這有助于消除開關(guān)的抖動。最后,需要提供用于該中斷的回調(diào)函數(shù)的名稱:將其命名為external_irq10_callback,并將“Priority”(優(yōu)先級)改為14,因為我們要確保USB中斷的優(yōu)先級高于按鈕(參見圖10-3)。

e5dd4cde-916d-11ed-bfe3-dac502259ad0.jpg

圖10-3:以上是IRQ10的必要設(shè)置

接下來,將USB外設(shè)通信設(shè)備類(PCDC)的中間件添加到系統(tǒng)中:創(chuàng)建新堆棧,并選擇“Middleware→USB→USB PCDC driver on r_usb_pcdc”(中間件→USB→ r_usb_pcdc上的USB PCDC驅(qū)動程序)(參見圖10-4)。

e60365b8-916d-11ed-bfe3-dac502259ad0.jpg

圖10-4:需要將USB外設(shè)通信設(shè)備類驅(qū)動程序的中間件添加到系統(tǒng)中

此操作將四個模塊添加到項目中:用于全速USB端口的實際PCDC驅(qū)動程序(用于實現(xiàn)應(yīng)用程序級USB PCDC接口),以及r_usb_basic上的基本USB驅(qū)動程序。堆中還顯示兩個具有粉紅色橫條的模塊。這些模塊用于添加可選的直接內(nèi)存訪問控制器DMAC)驅(qū)動程序,以傳輸或接收數(shù)據(jù)。我們將使用USB寫入API函數(shù)直接發(fā)送狀態(tài)消息,因此無需添加它們。關(guān)于模塊的其他色彩色條的含義,只需記住以下規(guī)則:灰色標(biāo)記僅可由一個其他模塊實例引用的模塊實例,藍(lán)色標(biāo)記可由多個其他模塊實例(甚至跨多個堆)引用的通用模塊實例。通過彩色條中的小三角形,可以展開或折疊模塊樹。

將USB端口作為PCDC設(shè)備來實現(xiàn),可以將USB端口用作虛擬COM端口,從而簡化主機端的接收器設(shè)置,因為在注冊到Windows后,便可通過終端應(yīng)用程序進(jìn)行數(shù)據(jù)通信。這就是我們與評估板進(jìn)行對話的方式。

添加所有堆棧后,“Stacks”(堆)窗格的外觀如圖10-5所示:

e629a020-916d-11ed-bfe3-dac502259ad0.jpg

圖10-5:添加USB驅(qū)動程序后“堆”窗格的外觀

只需要對基本USB驅(qū)動程序的“Properties”(屬性)做出兩處更改。突出顯示“g_basic0USBDriver on r_usb_basic”(r_usb_basic上的g_basic0 USB驅(qū)動程序)模塊,并在“Properties”(屬性)視圖的“Common”(通用)下,將“Continuous Transfer Mode”(連續(xù)傳輸模式)從“Disabled”(已禁用)切換為“Enabled”(已啟用),將“DMA Support”(DMA支持)從“Enabled”(已啟用)切換為“Disabled”(已禁用)。記錄“g_basic0USBDriver on r_usb_basic”(r_usb_basic上的g_basic0 USB驅(qū)動程序)部分的“USB Descriptor”(USB描述符)的名稱:g_usb_descriptor。稍后將創(chuàng)建一個具有該名稱的結(jié)構(gòu),以描述系統(tǒng)USB的功能,因此應(yīng)記住這個名稱。圖10-6顯示了修改后模塊的屬性。

e64ead48-916d-11ed-bfe3-dac502259ad0.jpg

圖10-6:進(jìn)行必要更改后的連續(xù)傳輸設(shè)置。記錄“USB Descriptor”(USB描述符)的名稱

圖10-7顯示了在完成所有更改后“Stacks”(堆)選項卡的外觀:

e66bd42c-916d-11ed-bfe3-dac502259ad0.jpg

圖10-7:完成所有增加內(nèi)容和修改后,“Stacks”(堆)選項卡的外觀

“Stacks”(堆)選項卡中完成所有設(shè)置后,現(xiàn)在需要設(shè)置USB端口的正確操作模式。為此,請切換到“Pins”(引腳)選項卡,在“Pin Selection”(引腳選擇)窗格中,首先展開“Peripherals”(外設(shè))下拉列表,然后展開“Connectivity: USB”(連接:USB)列表。在“Pin Configuration”(引腳配置)窗格中,將“Operation Mode”(操作模式)從“Custom”(自定義)修改為“Device”(器件),作為要使用的模式。注意,輸入/輸出引腳分配將相應(yīng)改變。

e688134e-916d-11ed-bfe3-dac502259ad0.jpg

圖10-8:USB端口將使用器件模式,請進(jìn)行相應(yīng)更改

現(xiàn)在還差一步就完成了端口的設(shè)置。最后一步是啟用“USB clock (UCLK)”(USB時鐘 (UCLK)),用作全速(FS)USB模塊的工作時鐘,并將其設(shè)置為所需的48 MHz頻率。為此,激活“Clocks”(時鐘)選項卡,可通過該選項卡配置時鐘生成電路。首先啟用USB時鐘,方法為:將靠近窗格底部的UCLK“Disabled”(已禁用)更改為“Enabled”(已啟用),并選擇PLL2作為源。接下來,啟用PLL2,它是USB模塊的專用PLL,并選擇高速片上振蕩器(HOCO)作為源。請注意,此時給定的UCLK頻率為40 MHz,并以紅色突出顯示,因為USB要求的頻率為48 MHz。將PLL2乘數(shù)值更改為24,以便將PLL2的頻率更改為240 MHz。再使UCLK的除數(shù)5,此時UCLK的頻率已正確設(shè)置為48 MHz。這里,采用Arm Cortex-M33內(nèi)核的RA MCU系列凸顯了巨大的優(yōu)勢:微控制器上還有第二個PLL,可以將USB的時鐘頻率設(shè)置為48 MHz,同時以最高速度200MHz運行MCU。

最后,將標(biāo)準(zhǔn)PLL的源從XTAL更改為HOCO。如果不確定要更改哪些字段,請參見圖10-9。

e6a855c8-916d-11ed-bfe3-dac502259ad0.jpg

圖10-9:USB FS需要使用48 MHz的時鐘,因此需要相應(yīng)地更改時鐘生成電路。必要的更改已突出顯示

至此,已經(jīng)完成了必須在FSP配置器中進(jìn)行的設(shè)置。保存配置,然后單擊屏幕右上角的“Generate Project Content”(生成項目內(nèi)容)按鈕,以提取文件并創(chuàng)建所需的設(shè)置。最后一步,再次切換到C/C++透視圖。


原文標(biāo)題:瑞薩RA產(chǎn)品家族初學(xué)者指南-第10章(1)

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


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

    關(guān)注

    146

    文章

    17985

    瀏覽量

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

    關(guān)注

    36

    文章

    22386

    瀏覽量

    88073

原文標(biāo)題:瑞薩RA產(chǎn)品家族初學(xué)者指南-第10章(1)

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RA8系列教程 | RA8 開發(fā)環(huán)境搭建,并點亮一個LED

    今天就給大家講講基于Cortex-M85內(nèi)核RA8單片機快速上手指南
    的頭像 發(fā)表于 06-04 17:32 ?709次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8系列教程 | <b class='flag-5'>瑞</b><b class='flag-5'>薩</b> <b class='flag-5'>RA</b>8 開發(fā)環(huán)境搭建,并點亮一個LED

    RA-Eco-RA4M2開發(fā)板評測】初學(xué)-使用flash programmer燒錄程序

    本人剛?cè)肟硬痪茫瑢纹瑱C的熱情很高,于是也加入了的板子申請隊伍,很榮幸也成為了試用者之一,此前對于的板子從未接觸過,包括對于使用e2studio編寫程序燒錄等工作也是從小白開始
    發(fā)表于 04-29 17:28

    RA8D1單片機IO中斷配置實現(xiàn)方法

    本文為結(jié)合e2 studio工具,以及CPKCOR_RA8D1B評估板,給大家講述RA8D1
    的頭像 發(fā)表于 04-09 15:05 ?1009次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8D1</b>單片機IO中斷配置實現(xiàn)方法

    RA系列MCU的命名方法與選型

    初學(xué)者來說,要理解RA產(chǎn)品家族產(chǎn)品型號中的不同數(shù)字和字母并不容易。我們首先以RA系列MCU中的
    的頭像 發(fā)表于 03-27 14:32 ?1044次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>系列MCU的命名方法與選型

    RA8快速上手指南:Cortex-M85內(nèi)核RA8開發(fā)環(huán)境搭建 并點亮一個LED

    因為Cortex-M內(nèi)核,RA8系列單片機支持多種市面上常見的開發(fā)環(huán)境,像Keil MDK、IAR EWARM等,而本文講述的是自家
    的頭像 發(fā)表于 03-17 14:35 ?1039次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8快速上手<b class='flag-5'>指南</b>:Cortex-M85內(nèi)核<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8開發(fā)環(huán)境搭建 并點亮一個LED

    RA2L1入門學(xué)習(xí)】+開箱評測

    R7FA2L1AB2DFL。RA2L1 產(chǎn)品組采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。 本次收到的開發(fā)板
    發(fā)表于 03-09 07:40

    RA4L1產(chǎn)品特色功能及應(yīng)用場景

    近日電子推出了一款最新的RA產(chǎn)品RA4L1,它有哪些特性以及適用于什么樣的應(yīng)用場景呢?本篇文章給大家?guī)碓敿?xì)介紹。
    的頭像 發(fā)表于 03-04 15:51 ?675次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA4L1</b><b class='flag-5'>產(chǎn)品</b>特色功能及應(yīng)用場景

    電子RA4L1 MCU的基本特性和應(yīng)用場景

    近日電子推出了一款最新的RA產(chǎn)品RA4L1,它有哪些特性以及適用于什么樣的應(yīng)用場景呢?本篇文章給大家?guī)碓敿?xì)介紹。
    的頭像 發(fā)表于 02-28 16:53 ?1289次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA4L1</b> MCU的基本特性和應(yīng)用場景

    新品上市 | RA4L1低功耗MCU--USB,CANFD,段碼LCD,適用低功耗電池應(yīng)用

    RA家族RA4L1低功耗MCU產(chǎn)品系列于2025年2月推出。
    的頭像 發(fā)表于 02-27 12:11 ?929次閱讀
    新品上市 | <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA4L1</b>低功耗MCU--USB,CANFD,段碼LCD,適用低功耗電池應(yīng)用

    RA家族RA4L1低功耗MCU量產(chǎn)上市

    ? RA家族RA4L1低功耗MCU產(chǎn)品系列于2025年2月推出。
    的頭像 發(fā)表于 02-20 13:39 ?823次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b><b class='flag-5'>家族</b><b class='flag-5'>RA4L1</b>低功耗MCU量產(chǎn)上市

    RA2L1入門學(xué)習(xí)】1. 點亮LED

    首次使用單片機,先說一下使用感受。 本次學(xué)習(xí)使用的是RA-Eco-RA2L1-48PIN-V1.0開發(fā)板+e2studio(官方的集成開發(fā)環(huán)境)+RAFP(官方的程序燒錄工具)。 整個流程都是
    發(fā)表于 01-29 22:17

    EE-269:以太網(wǎng)802.3初學(xué)者指南

    電子發(fā)燒友網(wǎng)站提供《EE-269:以太網(wǎng)802.3初學(xué)者指南.pdf》資料免費下載
    發(fā)表于 01-05 09:48 ?1次下載
    EE-269:以太網(wǎng)802.3<b class='flag-5'>初學(xué)者</b><b class='flag-5'>指南</b>

    RA家族精品RA2L1產(chǎn)品介紹

    RA2L1MCU是RA家族RA2系列廣受歡迎的一款產(chǎn)品
    的頭像 發(fā)表于 12-27 18:07 ?619次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b><b class='flag-5'>家族</b>精品<b class='flag-5'>RA2L1</b><b class='flag-5'>產(chǎn)品</b>介紹

    電子RZ MPU家族精品RZ/N2L產(chǎn)品介紹

    生態(tài)合作伙伴RT-Thread推出了一款高性能、多功能以太網(wǎng)MPU開發(fā)板EtherKit,搭載電子RZ/N2L,并攜手
    的頭像 發(fā)表于 12-23 14:10 ?752次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子RZ MPU<b class='flag-5'>家族</b>精品RZ/N2L<b class='flag-5'>產(chǎn)品</b>介紹

    電子RA2L1 MCU產(chǎn)品介紹

    RA2L1 MCU是RA家族RA2系列廣受歡迎的一款產(chǎn)品
    的頭像 發(fā)表于 12-10 10:51 ?928次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA2L1</b> MCU<b class='flag-5'>產(chǎn)品</b>介紹