精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

瑞薩RA產品家族初學者指南-第10章(1)

瑞薩MCU小百科 ? 來源:未知 ? 2023-01-11 13:10 ? 次閱讀

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

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

USB端口發送數據

您將在本章中學到以下內容:

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

  • 如何在主機工作站上接收MCU發送的數據。

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

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

該端口的大部分設置將在FSP配置器的圖形界面中完成,應用程序程序員只需完成極少的編程工作。在執行該練習中的編程任務時,可再次體驗到FSP給用戶提供的便利,即便在構建如USB之類的復雜通信系統時也非常方便。

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

圖10-1:本章練習的流程圖

本章目錄

  1. 使用FSP配置器設置USB端口

  2. 創建代碼

  3. 在主機端設置接收器

10.1 使用FSP配置器設置USB端口

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

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

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

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

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

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

圖10-3:以上是IRQ10的必要設置

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

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

圖10-4:需要將USB外設通信設備類驅動程序的中間件添加到系統中

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

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

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

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

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

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

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

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

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

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

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

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

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

圖10-8:USB端口將使用器件模式,請進行相應更改

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

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

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

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

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


原文標題:瑞薩RA產品家族初學者指南-第10章(1)

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


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

    關注

    146

    文章

    17004

    瀏覽量

    350335
  • 瑞薩
    +關注

    關注

    35

    文章

    22293

    瀏覽量

    86089

原文標題:瑞薩RA產品家族初學者指南-第10章(1)

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

收藏 人收藏

    評論

    相關推薦

    基于RA0E1 MCU的解決方案介紹

    RA0E1產品組是RA家族入門級簡易MCU,具有出色的成本效益和超低功耗特性。它集成Arm
    的頭像 發表于 07-09 11:13 ?395次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA0E1</b> MCU的解決方案介紹

    RA2L1系列CAN通信應用

    RA2L1系列CAN通信應用
    的頭像 發表于 06-26 08:06 ?563次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA2L1</b>系列CAN通信應用

    基于電子RA系列的野火耀陽RA8D1開發板產品簡介

    野火耀陽RA8D1開發板是一款功能強大的開發板,適用于各種嵌入式應用開發。它采用電子的RA系列R7FA8D1BHECBD微控制器作為主控
    的頭像 發表于 05-29 14:19 ?780次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b>系列的野火耀陽<b class='flag-5'>RA8D1</b>開發板<b class='flag-5'>產品</b>簡介

    RA0E1開發分享之一

    介紹生態社區的RA0E1開發板。
    的頭像 發表于 05-10 13:57 ?760次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA0E1</b>開發分享之一

    電子RA產品家族新增RA0E1 MCU產品

    電子RA產品家族新增RA0E1 MCU產品組。
    的頭像 發表于 04-11 15:17 ?861次閱讀
    <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'>家族</b>新增<b class='flag-5'>RA0E1</b> MCU<b class='flag-5'>產品</b>組

    RA MCU家族推出集成Arm? Cortex?-M23內核的全新RA0系列

    RA MCU家族推出全新的RA0系列,RA0E1產品
    的頭像 發表于 04-10 14:32 ?1227次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b> MCU<b class='flag-5'>家族</b>推出集成Arm? Cortex?-M23內核的全新<b class='flag-5'>RA</b>0系列

    電子RA家族推出RA8系列高算力通用MCU

    電子RA家族推出RA8系列高算力通用MCU,是業界首款基于Arm? Cortex?-M85(CM85)內核的32位MCU,主頻高達480
    的頭像 發表于 04-02 14:14 ?1382次閱讀
    <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'>RA</b>8系列高算力通用MCU

    RA家族Arm?DSP示例應用說明

    電子發燒友網站提供《RA家族Arm?DSP示例應用說明.pdf》資料免費下載
    發表于 02-28 09:21 ?0次下載
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b><b class='flag-5'>家族</b>Arm?DSP示例應用說明

    RA8T1高性能電機控制新品解讀(上)產品詳解篇

    RA家族基于Arm? Cortex?-M內核打造,自2019年10月份正式誕生,短短四年多時間已經快速發展成廣泛的
    的頭像 發表于 02-21 12:15 ?1222次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8T1</b>高性能電機控制新品解讀(上)<b class='flag-5'>產品</b>詳解篇

    RA家族 RA AWS MQTT/TLS云連接解決方案-蜂窩應用說明

    電子發燒友網站提供《RA家族 RA AWS MQTT/TLS云連接解決方案-蜂窩應用說明.pdf》資料免費下載
    發表于 02-19 11:00 ?0次下載
    <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'>RA</b> AWS MQTT/TLS云連接解決方案-蜂窩應用說明

    RA家族QE電機應用開發指南

    電子發燒友網站提供《RA家族QE電機應用開發指南.pdf》資料免費下載
    發表于 01-31 09:57 ?0次下載
    <b class='flag-5'>RA</b><b class='flag-5'>家族</b>QE電機應用開發<b class='flag-5'>指南</b>

    RA家族RA AWS MQTT/TLS云連接解決方案-以太網

    電子發燒友網站提供《RA家族RA AWS MQTT/TLS云連接解決方案-以太網.pdf》資料免費下載
    發表于 01-03 09:52 ?0次下載
    <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'>RA</b> AWS MQTT/TLS云連接解決方案-以太網

    電子推出全新RA MCU家族產品RA8

    電子推出的全新RA MCU家族產品RA8,是業界首款搭載Arm Cortex-M85內核超高
    的頭像 發表于 12-20 12:25 ?1060次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子推出全新<b class='flag-5'>RA</b> MCU<b class='flag-5'>家族</b><b class='flag-5'>產品</b><b class='flag-5'>RA</b>8

    電子宣布推出RA8D1微控制器(MCU)產品

    2023年12月12日,電子宣布推出RA8D1微控制器(MCU)產品群。RA8D1產品群作為
    的頭像 發表于 12-15 15:58 ?954次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子宣布推出<b class='flag-5'>RA8D1</b>微控制器(MCU)<b class='flag-5'>產品</b>群

    電子時鐘制作(RA)(1)----使用串口進行打印

    本篇文章主要介紹如何使用e2studio對RA2E1開發板進行串口打印配置。
    的頭像 發表于 12-01 13:56 ?626次閱讀
    電子時鐘制作(<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>)(<b class='flag-5'>1</b>)----使用串口進行打印