91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

瑞薩嵌入式小百科 ? 來源:未知 ? 2022-11-15 12:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


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


9. 使用實(shí)時操作系統(tǒng)


本章目錄

  1. 線程、信號量和隊列

  2. 使用e2 studio將線程添加到FreeRTOS


9.2 使用e2 studio將線程添加到FreeRTOS中

接下來,只需要執(zhí)行幾個步驟,即可編譯和下載程序。


添加信號量。請在LED Thread Objects”(LED線程對象)窗格中單擊“New Object”(新對象)按鈕。如果看到的不是此窗格,而是“HAL/Common Objects”(HAL/通用對象)窗格,則突出顯示“Threads”(線程)窗格中的“LED Thread”(LED線程),隨即將顯示此窗格。

添加一個二進(jìn)制信號量,我們需要在按下按鈕時通知LED線程。將信號量的“Symbol”(符號)屬性更改為g_s1_semaphore,并將“Memory Allocation”(存儲器分配)保留為“Static”(靜態(tài))?,F(xiàn)在,F(xiàn)SP配置器中的“Stacks”(堆)選項(xiàng)卡的外觀應(yīng)類似于圖9-5。


圖9-5:這是添加LED線程和信號量后“Stacks”(堆)選項(xiàng)卡應(yīng)呈現(xiàn)的外觀


FSP配置器中的最后一步是將S1連接的I/O引腳配置為IRQ10輸入。為此,請激活配置器中的Pins”(引腳)選項(xiàng)卡,展開“Ports → P0”端口 → P0),然后選擇P005。在RA6M4評估板上,這是S1連接的端口。在右側(cè)的“Pin Configuration”(引腳配置)窗格中,為其指定符號名稱S1,并確保其他設(shè)置與圖9-6中的設(shè)置相同。通常,配置器應(yīng)該已為您完成了相關(guān)設(shè)置。如果沒有完成,請相應(yīng)調(diào)整。請注意,右側(cè)的封裝查看器將突出顯示引腳135/P005,這樣便可獲得引腳位置的圖形參考。


圖9-6:應(yīng)已為IRQ10正確配置了端口P005


完成此操作后,即完成了配置器中的設(shè)置。保存更改,然后單擊其頂部的“Generate Project Content”(生成項(xiàng)目內(nèi)容)圖標(biāo)以創(chuàng)建必要的文件、文件夾和設(shè)置。


需要執(zhí)行的最后一項(xiàng)任務(wù)是添加初始化Leds結(jié)構(gòu)體所需的代碼,編寫幾行代碼來切換LED并讀取信號量,然后創(chuàng)建將設(shè)置信號量的回調(diào)函數(shù)??梢栽诒菊履┪膊榭赐暾a。


由于我們正在使用LED線處理按鈕和切換LED,因此本次需要將相關(guān)代碼添加到led_thread_entry.c文件中。在“Project Explorer”(項(xiàng)目資源管理器)中雙擊文件名以在編輯器中將其打開。如果未顯示文件,請展開項(xiàng)目文件夾,然后展開src目錄。與第8章中的練習(xí)一樣,為LED添加結(jié)構(gòu)體并對其進(jìn)行初始化。需要定義LED2所連I/O引腳的電平的另一個變量。將其命名為led_level。該變量的類型需要采用ioport_level_t,并且應(yīng)初始化為IOPORT_LEVEL_HIGH(在EK-RA6M4上,“高”電平對應(yīng)于“開啟”)。


下一步將是打開并啟用連接到板上S1的IRQ10。為此,請使用IRQ FSP驅(qū)動程序的打開和使能功能。完成后,初始化即完成。



while(1)循環(huán)內(nèi)部,需要添加一些語句并刪除vTaskDelay(1); 語句。先使用函數(shù)調(diào)用將led_level的值寫入LED2的I/O引腳的輸出寄存器,然后執(zhí)行相關(guān)語句切換該引腳的電平。有幾種方法可以實(shí)現(xiàn)這一點(diǎn)。自行實(shí)現(xiàn),回顧第8章的練習(xí)或查看本章結(jié)尾的代碼。不要忘記e2 studio的智能手冊功能,它會提供很大幫助!


While(1)循環(huán)中的最后一條語句是調(diào)用xSemaphoreTake(),將信號量的地址和常量portMAX_DELAY作為參數(shù)。后一個參數(shù)將通知RTOS無限期地暫停線程,直到從IRQ 10中斷服務(wù)程序調(diào)用的回調(diào)函數(shù)中釋放信號量為止。


最后要執(zhí)行的操作是添加回調(diào)函數(shù)本身。該函數(shù)應(yīng)盡可能短,因?yàn)樗鼘⒃谥袛喾?wù)程序的上下文中執(zhí)行。編寫此函數(shù)十分簡單:只需轉(zhuǎn)到“Project Explorer”(項(xiàng)目資源管理器)中的“Developer Assistance → LED Thread → g_external_irq10 External IRQ Driver on r_icu”(開發(fā)人員幫助 → LED線程 → r_icu 上的g_external_irq10外部IRQ驅(qū)動程序),然后將所出現(xiàn)列表末尾的回調(diào)函數(shù)定義拖放到源文件中。



在回調(diào)函數(shù)內(nèi),添加以下兩行代碼:



第一行中的宏將告知編譯器回調(diào)函數(shù)不使用參數(shù)p_args,從而避免編譯器發(fā)出警告,而第二行中的宏則在每次按下按鈕S1時釋放信號量。注意,必須使用give系列函數(shù)的中斷保存版本,因?yàn)榇撕瘮?shù)調(diào)用發(fā)生在ISR的上下文內(nèi)。此調(diào)用的第二個參數(shù)是*pxHigherPriorityTaskWoken。如果可能有一個或多個任務(wù)由于信號量發(fā)生阻塞并等待該信號量變?yōu)榭捎脿顟B(tài),并且其中一個任務(wù)的優(yōu)先級高于發(fā)生中斷時執(zhí)行的任務(wù),則此參數(shù)將在調(diào)用xSemaphoreGiveFromISR()后變?yōu)閠rue。在這種情況下,應(yīng)在退出中斷之前執(zhí)行上下文切換。由于在我們的示例中,沒有其他任務(wù)依賴于此信號量,因此可以將此參數(shù)設(shè)置為NULL。


完成所有代碼編寫后,單擊“Build”(編譯)圖標(biāo)(“錘子”),編譯項(xiàng)目。如果編譯后存在錯誤,請返回程序,借助“Problems”(問題)視圖中顯示的編譯器反饋修復(fù)問題。


如果項(xiàng)目編譯成功,請單擊“Debug”(調(diào)試)圖標(biāo)旁的小箭頭,選擇“Debug Configurations”(調(diào)試配置),然后展開“Renesas GDB Hardware Debugging”(瑞薩GDB硬件調(diào)試)。選擇MyRtosProject Debug_Flat,或者為項(xiàng)目指定的名稱,然后單擊“Debug”(調(diào)試)。這樣便可啟動調(diào)試器。如果您需要更多相關(guān)信息,請回顧第8章中的相關(guān)部分。調(diào)試器啟動并運(yùn)行后,單擊“Resume”(恢復(fù))兩次。現(xiàn)在程序正在執(zhí)行,每次按下EK上的S1時,綠色LED2都相應(yīng)切換。


最后一點(diǎn):在實(shí)際應(yīng)用中,應(yīng)執(zhí)行錯誤檢查以確保程序正確運(yùn)行。為了清楚和簡潔起見,本示例中將其省略。



您已成功完成本練習(xí)!


本章要點(diǎn):

  • 通過使用全面的API,可以輕松使用FSP的各個函數(shù)。

  • FSP將處理大多數(shù)與用戶代碼無關(guān)的內(nèi)容。

  • 使用FreeRTOS十分簡單,因?yàn)镕SP配置器的使用非常直觀,添加線程和信號量也相當(dāng)輕松。


第9章 結(jié)束


往期推薦

1

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

2

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

3

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

瑞薩電子 (TSE: 6723)

科技讓生活更輕松,致力于打造更安全、更智能、可持續(xù)發(fā)展的未來。作為全球微控制器供應(yīng)商,瑞薩電子融合了在嵌入式處理、模擬、電源及連接方面的專業(yè)知識,提供完整的半導(dǎo)體解決方案。成功產(chǎn)品組合加速汽車、工業(yè)、基礎(chǔ)設(shè)施及物聯(lián)網(wǎng)應(yīng)用上市,賦能數(shù)十億聯(lián)網(wǎng)智能設(shè)備改善人們的工作和生活方式。

更多信息,敬請訪問renesas.com



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

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

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

    關(guān)注

    147

    文章

    18924

    瀏覽量

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

    關(guān)注

    37

    文章

    22481

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    FPB-RA0E2開發(fā)板的批量加載例程

    RA MCU眾測寶典”環(huán)境搭建專題再添實(shí)用干貨!上一篇我們搞定了【FPB-RA0E2】開發(fā)板的基礎(chǔ)環(huán)境配置,這次將解鎖“批量加載官方例程”技能。
    的頭像 發(fā)表于 01-29 17:52 ?6833次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>FPB-<b class='flag-5'>RA0E2</b>開發(fā)板的批量加載例程

    電子RA系列MCU 2025年新品回顧

    2025年RA系列推出10個新產(chǎn)品,覆蓋了從入門級低功耗(RA0E2)、中端低功耗(RA4C
    的頭像 發(fā)表于 01-27 09:57 ?1240次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b>系列MCU 2025年新品回顧

    FPB-RA6E2試用】【原創(chuàng)】基于【FPB-RA6E2】Windows 下Zephyr RTOS自定義項(xiàng)目開發(fā)全流程(創(chuàng)建-編譯-燒錄-串口調(diào)試)

    者、Zephyr 初學(xué)者 MCU 用戶快速上手開發(fā)環(huán)境搭建與基礎(chǔ)驗(yàn)證。 另外:本人已在B站錄制視頻教程:https://www.bilibili.com/video/BV12Ki5BGERu
    發(fā)表于 01-01 15:35

    RA6E2地奇星開發(fā)板試用】使用`RA6E2`驅(qū)動 `ESP8266 WiFi模塊`,調(diào)試AT指令。

    : 串口調(diào)試助手發(fā)送 AT 指令到 RA6E2 開發(fā)板的主串口(UART9)。 RA6E2 開發(fā)板將收到的 AT 指令原樣轉(zhuǎn)發(fā)給 ESP
    發(fā)表于 12-25 10:08

    RA6E2地奇星開發(fā)板試用】介紹、環(huán)境搭建、工程測試

    RA6E2地奇星開發(fā)板試用】介紹、環(huán)境搭建、工程測試 本文介紹了 RA6E2 地奇星開
    發(fā)表于 12-07 15:27

    RA家族RA4C1低功耗MCU發(fā)布

    RA家族在2025年8月推出RA4C1低功耗MCU,基于Arm Cortex-M33(CM33)內(nèi)核,提供低功耗/低電壓操作、LCD段碼
    的頭像 發(fā)表于 08-22 15:00 ?2326次閱讀
    <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>4C1低功耗MCU發(fā)布

    基于電子RA8T2 sensorless方案的樣例工程 可對電流環(huán)進(jìn)行TCM化設(shè)置

    基于電子RA8T2 sensorless方案的樣例工程 可對電流環(huán)進(jìn)行TCM化設(shè)置
    的頭像 發(fā)表于 06-04 18:29 ?1102次閱讀

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

    今天就給大家講講基于Cortex-M85內(nèi)核RA8單片機(jī)快速上手指南。
    的頭像 發(fā)表于 06-04 17:32 ?1767次閱讀
    <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)境搭建,并點(diǎn)亮一個LED

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

    本人剛?cè)肟硬痪?,對單片機(jī)的熱情很高,于是也加入了的板子申請隊伍,很榮幸也成為了試用者之一,此前對于的板子從未接觸過,包括對于使用e2
    發(fā)表于 04-29 17:28

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

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

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

    初學(xué)者來說,要理解RA產(chǎn)品家族產(chǎn)品型號中的不同數(shù)字和字母并不容易。我們首先以RA系列MCU中的
    的頭像 發(fā)表于 03-27 14:32 ?2922次閱讀
    <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)境搭建 并點(diǎn)亮一個LED

    因?yàn)镃ortex-M內(nèi)核,RA8系列單片機(jī)支持多種市面上常見的開發(fā)環(huán)境,像Keil MDK、IAR EWARM等,而本文講述的是自家
    的頭像 發(fā)表于 03-17 14:35 ?1927次閱讀
    <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)境搭建 并點(diǎn)亮一個LED

    RA2L1入門學(xué)習(xí)】+Key control LED

    ? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。 RA2
    發(fā)表于 03-09 17:21

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

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

    RA2L1入門學(xué)習(xí)】RA2L1開發(fā)環(huán)境搭建

    e2 studio 和 FSP 的下載、安裝及使用指南 1. 什么是 e2 studio 和 FSP? e2 studio 是電子(Renesas)專為 RA 系列單片機(jī)開發(fā)的 I
    發(fā)表于 03-07 11:33