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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群


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


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


本章目錄

  1. 線程、信號(hào)量和隊(duì)列

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


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

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


添加信號(hào)量。請(qǐng)?jiān)?span style="color: rgb(136, 133, 242);box-sizing: border-box;">LED Thread Objects”(LED線程對(duì)象)窗格中單擊“New Object”(新對(duì)象)按鈕。如果看到的不是此窗格,而是“HAL/Common Objects”(HAL/通用對(duì)象)窗格,則突出顯示“Threads”(線程)窗格中的“LED Thread”(LED線程),隨即將顯示此窗格。

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


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


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


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


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


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


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


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



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


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


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



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



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


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


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


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



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


本章要點(diǎn):

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

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

  • 使用FreeRTOS十分簡(jiǎn)單,因?yàn)镕SP配置器的使用非常直觀,添加線程和信號(hào)量也相當(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ā)展的未來(lái)。作為全球微控制器供應(yīng)商,瑞薩電子融合了在嵌入式處理、模擬、電源及連接方面的專業(yè)知識(shí),提供完整的半導(dǎo)體解決方案。成功產(chǎn)品組合加速汽車(chē)、工業(yè)、基礎(chǔ)設(shè)施及物聯(lián)網(wǎng)應(yīng)用上市,賦能數(shù)十億聯(lián)網(wǎng)智能設(shè)備改善人們的工作和生活方式。

更多信息,敬請(qǐng)?jiān)L問(wèn)renesas.com



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

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

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

    關(guān)注

    147

    文章

    18938

    瀏覽量

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

    關(guān)注

    37

    文章

    22482

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

    2025年RA系列推出10個(gè)新產(chǎn)品,覆蓋了從入門(mén)級(jí)低功耗(RA0E2)、中端低功耗(RA4C
    的頭像 發(fā)表于 01-27 09:57 ?1293次閱讀
    <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)目開(kāi)發(fā)全流程(創(chuàng)建-編譯-燒錄-串口調(diào)試)

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

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

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

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

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

    電子基于RA6T2的高頻注入法方案詳解

    電子發(fā)布了基于高頻注入法的樣例方案,本篇以RA6T2樣例工程為例,介紹高頻注入法的一般性原理,樣例工程的結(jié)構(gòu)、實(shí)現(xiàn)方式和調(diào)試硬件系統(tǒng)
    的頭像 發(fā)表于 10-27 11:31 ?4809次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子基于<b class='flag-5'>RA6T2</b>的高頻注入法方案詳解

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

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

    電子RA系列微控制器的可擴(kuò)展性強(qiáng)的配置軟件包 (FSP)安裝下載與使用指南

    電子RA系列微控制器的可擴(kuò)展性強(qiáng)的配置軟件包 (FSP)安裝下載與使用指南
    的頭像 發(fā)表于 06-11 17:21 ?1895次閱讀

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

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

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

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

    RA0系列MCU喜添新成員RA0E2

    RA家族2024年推出全新的RA0超低功耗系列,繼RA0E1產(chǎn)品后,新添成員RA0E2。
    的頭像 發(fā)表于 05-06 09:29 ?1264次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>0系列MCU喜添新成員<b class='flag-5'>RA0E2</b>

    RA-Eco-RA4M2開(kāi)發(fā)板評(píng)測(cè)】初學(xué)-使用flash programmer燒錄程序

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

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

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

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

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

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

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