一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲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)不再提示

如何編寫(xiě)代碼以切換EK上的用戶LED

瑞薩MCU小百科 ? 來(lái)源:瑞薩MCU小百科 ? 作者:瑞薩MCU小百科 ? 2022-10-25 14:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

8. Hello World! – Hi Blinky!

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

如何從頭開(kāi)始為EK-RA6M4評(píng)估板創(chuàng)建項(xiàng)目。

如何在FSP配置器中更改靈活配置軟件包的設(shè)置。

如何編寫(xiě)代碼以切換EK上的用戶LED

如何下載和測(cè)試程序。

本章目錄:

使用項(xiàng)目配置器創(chuàng)建項(xiàng)目

使用FSP配置器設(shè)置運(yùn)行環(huán)境

編寫(xiě)前幾行代碼

編譯第一個(gè)項(xiàng)目

下載和調(diào)試第一個(gè)項(xiàng)目

8.3 編寫(xiě)前幾行代碼

獲取所有自動(dòng)生成的文件之后,接下來(lái)查看創(chuàng)建的內(nèi)容。IDE左側(cè)的“Project Explorer”(項(xiàng)目資源管理器)列出了當(dāng)前包含的所有內(nèi)容。Ra_gen文件夾保存通道號(hào)等配置集。Src目錄包含一個(gè)名為hal_entry.c的文件。這是稍后要編輯的文件。請(qǐng)注意,盡管在ra_gen文件夾中有一個(gè)名為main.c的文件,但用戶代碼必須轉(zhuǎn)到hal_entry.c中。否則,如果您在FSP配置器中進(jìn)行修改并重新創(chuàng)建項(xiàng)目?jī)?nèi)容,則更改會(huì)丟失,因?yàn)槊看螁螕簟癎enerate Project Content”(生成項(xiàng)目?jī)?nèi)容)時(shí),都將覆蓋該文件。

3a6e73c0-541c-11ed-a3b6-dac502259ad0.jpg

圖8-9:FSP配置器創(chuàng)建所需文件后的項(xiàng)目樹(shù)

該項(xiàng)目還包含幾個(gè)名稱中帶有“ra”或“fsp”的目錄,其中包含F(xiàn)SP的源文件、包含文件和配置文件。通常的規(guī)則是,不得修改這些文件夾(和子文件夾)的內(nèi)容。其中包含由配置器生成的文件,在此所做的任何更改都將在下次生成或刷新項(xiàng)目?jī)?nèi)容時(shí)丟失。用戶可編輯的源文件是直接位于src文件夾或您添加的任何其他文件夾的根目錄中的文件。

接下來(lái),為RA產(chǎn)品家族單片機(jī)編寫(xiě)第一個(gè)真實(shí)源代碼。計(jì)劃是在EK-RA6M4評(píng)估板上的綠色LED2和紅色LED3之間每秒交替切換,因此您必須通過(guò)添加代碼來(lái)點(diǎn)亮和熄滅LED以及實(shí)現(xiàn)延時(shí)循環(huán)。如何實(shí)現(xiàn)?

實(shí)際上有兩種選擇:一種是通過(guò)接口函數(shù)來(lái)使用API,另一種是使用BSP實(shí)現(xiàn)函數(shù)。您認(rèn)為哪一種更好?如果您不確定答案,可以回顧第2章。

如果查看文件ra_gencommon_data.c中的代碼,則會(huì)發(fā)現(xiàn)I/O端口驅(qū)動(dòng)程序?qū)嵗齡_ioport具有以下定義:

3a8c56d8-541c-11ed-a3b6-dac502259ad0.jpg

g_ioport_on_ioport是一個(gè)結(jié)構(gòu)體,用于聲明端口可能執(zhí)行的操作,將分配給g_ioport實(shí)例的API指針。將鼠標(biāo)懸停在該結(jié)構(gòu)體上,可以輕松查看其中的內(nèi)容,此結(jié)構(gòu)體顯示了其成員之一(.pinWrite)是指向引腳寫(xiě)入函數(shù)的指針。

因此,要點(diǎn)亮LED,可以寫(xiě)入:

3aa78da4-541c-11ed-a3b6-dac502259ad0.jpg

但這意味著實(shí)際上需要知道LED2和LED3連接到哪些I/O端口,以及有多少個(gè)LED可用!為此,我們可以閱讀電路板的文檔或仔細(xì)檢查原理圖以找到正確的端口?;蛘撸部梢灾灰揽縁SP。創(chuàng)建類型為bsp_leds_t的結(jié)構(gòu)體(在board_leds.h中聲明)并為其分配在board_leds.c中定義的全局BSP結(jié)構(gòu)體g_bsp_leds即可解決問(wèn)題。這兩個(gè)文件均位于項(xiàng)目的raoards a6m4_ek文件夾內(nèi)。因此,以下兩行代碼足以獲取有關(guān)評(píng)估板上LED的信息:

3aba3e0e-541c-11ed-a3b6-dac502259ad0.jpg

現(xiàn)在,可以使用LED結(jié)構(gòu)體來(lái)訪問(wèn)電路板上的所有LED,并使用以下語(yǔ)句點(diǎn)亮綠色LED2(將端口設(shè)置為低電平將點(diǎn)亮LED,將端口設(shè)置為高電平則將熄滅LED):

3acb5e64-541c-11ed-a3b6-dac502259ad0.jpg

此語(yǔ)句后需要有第二條語(yǔ)句,用于將其引腳設(shè)置為高電平以熄滅LED3。

最后,需要提供一段延時(shí)以使LED以用戶友好的方式切換。為此,可以再次調(diào)用BSP API:

3aea1584-541c-11ed-a3b6-dac502259ad0.jpg

R_BSP_SoftwareDelay函數(shù)的第一個(gè)參數(shù)是要延遲的單位數(shù),而第二個(gè)參數(shù)是指定的基本單位,在本例中為秒。其他選項(xiàng)包括毫秒和微秒。

完成這些操作后,接下來(lái)要做的是復(fù)制/粘貼三行代碼,并反轉(zhuǎn)第二組中LED的引腳電平。最后,由于我們想無(wú)限期地運(yùn)行程序,因此必須圍繞代碼創(chuàng)建一個(gè)while(1)循環(huán)。

目前,還需要執(zhí)行的操作是將以下代碼行直接輸入到hal_entry.c文件中的函數(shù)簽名之后,替換/* TODO: add your own code here */行。對(duì)于由項(xiàng)目配置器和FSP配置器插入的其他代碼,請(qǐng)保持不變。單片機(jī)需要借助這些代碼來(lái)正常運(yùn)行。

3afcdd40-541c-11ed-a3b6-dac502259ad0.jpg

編寫(xiě)代碼時(shí),始終可以使用e2 studio的自動(dòng)完成功能。只需按下-,便會(huì)出現(xiàn)一個(gè)窗口,顯示結(jié)構(gòu)體或函數(shù)可能的補(bǔ)全代碼。如果單擊一個(gè)條目,它會(huì)被自動(dòng)插入代碼中。

3b1871c2-541c-11ed-a3b6-dac502259ad0.jpg

圖8-10:在變量或函數(shù)上按下-將激活e2 studio的代碼補(bǔ)全功能

編寫(xiě)程序時(shí),另一個(gè)有用的工具是“Developer Assistance”(開(kāi)發(fā)人員幫助),可以從“Project Explorer”(項(xiàng)目資源管理器)中訪問(wèn)此工具。在使用FSP配置器配置了項(xiàng)目的軟件堆棧之后,此工具將為您快速了解應(yīng)用程序代碼提供支持。要訪問(wèn)“Developer Assistance”(開(kāi)發(fā)人員幫助),請(qǐng)先在“Project Explorer”(項(xiàng)目資源管理器)中展開(kāi)項(xiàng)目,此工具隨即顯示。顯示工具后,進(jìn)一步展開(kāi)樹(shù),直到看到堆棧模塊及其API。選擇要使用的API,然后將對(duì)該API的調(diào)用拖放到源文件中。

現(xiàn)在輪到您進(jìn)行操作:請(qǐng)將上面的代碼行輸入到項(xiàng)目hal_entry.c文件中。為此,展開(kāi)項(xiàng)目的src文件夾,然后雙擊上述文件。此操作會(huì)在編輯器中將其打開(kāi)。如果您不想自己輸入所有內(nèi)容,也可以掃描下方二維碼進(jìn)入本手冊(cè)的網(wǎng)站下載完整的項(xiàng)目。

8.4 編譯第一個(gè)項(xiàng)目

輸入所有內(nèi)容后,便可隨時(shí)編譯程序。編譯有兩種不同的配置:調(diào)試和發(fā)布。調(diào)試配置將包含調(diào)試程序所需的所有信息,例如變量和函數(shù)名,并且還將關(guān)閉編譯器的某些優(yōu)化,例如循環(huán)展開(kāi)。這會(huì)使調(diào)試更加容易,但會(huì)增大代碼大小、減慢代碼執(zhí)行速度。發(fā)布配置將從輸出文件中除去所有這些信息,并開(kāi)啟完全優(yōu)化,從而減小代碼大小、加快代碼執(zhí)行速度,但是,您再也無(wú)法執(zhí)行查看變量等操作(除非您知道它們?cè)诖鎯?chǔ)器中的地址)。

對(duì)于第一個(gè)測(cè)試,可以采用調(diào)試配置(也是默認(rèn)配置)。要編譯項(xiàng)目,單擊主菜單欄3b81f5a2-541c-11ed-a3b6-dac502259ad0.jpg上的“build”(編譯)按鈕,編譯過(guò)程隨即開(kāi)始。如果一切正常,編譯將以0個(gè)錯(cuò)誤和0個(gè)警告結(jié)束。如果存在編譯時(shí)錯(cuò)誤,則需要返回代碼,仔細(xì)檢查是否正確輸入了所有內(nèi)容。如果未正確輸入所有內(nèi)容,請(qǐng)相應(yīng)地更改代碼。為了讓您更輕松地定位錯(cuò)誤,編譯器的反饋將直接插入編輯器窗口(如果可能)。

程序編譯成功后,會(huì)創(chuàng)建輸出文件MyBlinkyProject.elf,需要先將其下載到處理器,然后才能運(yùn)行和調(diào)試該文件。

8.5 下載和調(diào)試第一個(gè)項(xiàng)目

下一步是在評(píng)估板(EK)上實(shí)際運(yùn)行程序?,F(xiàn)在需要將評(píng)估板連接到Windows工作站:將電路板隨附的USB線纜的micro-B端插入系統(tǒng)控制和生態(tài)系統(tǒng)訪問(wèn)區(qū)域右下角的USB調(diào)試端口J10,將另一端插入PC上的空閑端口。白色LED4(構(gòu)成文字“EK-RA6M4”中的連字符)應(yīng)點(diǎn)亮,表示電路板已通電。如果該評(píng)估板支持開(kāi)箱即用,則預(yù)編程的演示會(huì)運(yùn)行,表明一切都按預(yù)期運(yùn)行。Windows操作系統(tǒng)可能會(huì)顯示一個(gè)對(duì)話框,指示正在安裝J-Link板上調(diào)試器的驅(qū)動(dòng)程序,此過(guò)程應(yīng)自動(dòng)完成。此外,還可能會(huì)出現(xiàn)一個(gè)窗口,詢問(wèn)是否更新J-Link調(diào)試器。強(qiáng)烈建議允許進(jìn)行此更新。

如果USB端口旁邊的橙色調(diào)試LED5在短時(shí)間內(nèi)不停地閃爍,則表示工作站上的J-Link驅(qū)動(dòng)程序可能有問(wèn)題。如果發(fā)生這種情況,請(qǐng)參見(jiàn)第7.1節(jié)獲取可能的解決方案。

下載

要下載程序,必須先創(chuàng)建一個(gè)調(diào)試配置。單擊“Debug”(調(diào)試)符號(hào)3b98b526-541c-11ed-a3b6-dac502259ad0.jpg旁邊的小箭頭,然后從下拉列表框中選擇“Debug Configurations”(調(diào)試配置)。

在出現(xiàn)的窗口中,突出顯示“Renesas GDB Hardware Debugging”(瑞薩GDB硬件調(diào)試)下的MyBlinkyProject Debug_Flat。由于項(xiàng)目配置器已經(jīng)進(jìn)行了所有必要的設(shè)置,因此無(wú)需在此對(duì)話框中進(jìn)行任何更改。只需單擊窗口右下角的“Debug”(調(diào)試)。此操作會(huì)啟動(dòng)調(diào)試器,將代碼下載到EK上的RA6M4 MCU,并詢問(wèn)您是否要切換到“Debug Perspective”(調(diào)試透視圖)。請(qǐng)選擇“Switch”(切換)。“Debug Perspective”(調(diào)試透視圖)將打開(kāi),并且程序計(jì)數(shù)器將設(shè)置為程序的入口點(diǎn),即復(fù)位處理程序。此調(diào)試配置僅需要?jiǎng)?chuàng)建一次。下次只需單擊“Debug”(調(diào)試)符號(hào)3ba89126-541c-11ed-a3b6-dac502259ad0.jpg便可啟動(dòng)調(diào)試器。

3bbe010a-541c-11ed-a3b6-dac502259ad0.jpg

圖8-11:選擇MyBlinkyProject Debug_flat后,無(wú)需在其他選項(xiàng)卡上進(jìn)行任何更改

運(yùn)行

單擊“Resume”(恢復(fù))按鈕3bded2fe-541c-11ed-a3b6-dac502259ad0.jpg,下一個(gè)停止處將處于main()中調(diào)用hal_entry()的位置。再次單擊該按鈕,程序?qū)⒗^續(xù)執(zhí)行,并按預(yù)期的1秒時(shí)間間隔在評(píng)估板上的綠色和紅色LED之間切換。

觀察結(jié)果

如果一切正常,單擊主菜單欄上的“Suspend”(暫停)3bf43914-541c-11ed-a3b6-dac502259ad0.jpg?按鈕。這將停止執(zhí)行程序但不會(huì)將其終止。在編輯器視圖中,激活文件hal_entry.c的選項(xiàng)卡,然后右鍵單擊包含對(duì)端口的寫(xiě)操作的其中一行;在出現(xiàn)的菜單中,選擇“Run to line”(運(yùn)行至指定行)。執(zhí)行將恢復(fù),程序?qū)⒃趩螕舻男刑幫V埂,F(xiàn)在來(lái)看一下右側(cè)包含變量的視圖。您將看到列出的Leds結(jié)構(gòu)體。將其展開(kāi),瀏覽和分析不同的字段。調(diào)試較大的項(xiàng)目時(shí),此視圖會(huì)派上用場(chǎng)。

3c03ce10-541c-11ed-a3b6-dac502259ad0.jpg

圖8-12:變量及其值可以在“Variables”(變量)視圖中進(jìn)行檢查

最后一步是單擊“Terminate”(終止)按鈕3c24c0ac-541c-11ed-a3b6-dac502259ad0.jpg,結(jié)束調(diào)試會(huì)話,以停止程序的執(zhí)行。

您已經(jīng)掌握了RA產(chǎn)品家族單片機(jī)的第一個(gè)程序!

本章要點(diǎn):

項(xiàng)目配置器將創(chuàng)建新項(xiàng)目所需的所有文件和設(shè)置。

FSP配置器允許編程人員基于圖形用戶界面輕松配置FSP和運(yùn)行環(huán)境。

調(diào)試配置是調(diào)試項(xiàng)目的必需步驟。它會(huì)自動(dòng)創(chuàng)建,只需要激活即可。

實(shí)現(xiàn)所需功能僅需要很少的代碼行。

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23785

    瀏覽量

    672359
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4893

    瀏覽量

    70441
  • FSP
    FSP
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    7390
  • 配置器
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    11815

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何利用代碼編寫(xiě)編寫(xiě)MSP430程序?qū)崿F(xiàn)LED閃爍

    在本教程中,我們將了解代碼編輯器工作室以及如何使用它來(lái)編程 MSP430。本教程是為初學(xué)者編寫(xiě)的,除了 MSP430 板和計(jì)算機(jī)外,不需要任何硬件。在本教程結(jié)束時(shí),我們將能夠閃爍MSP430的板載LED
    的頭像 發(fā)表于 11-14 16:13 ?5733次閱讀
    如何利用<b class='flag-5'>代碼</b><b class='flag-5'>編寫(xiě)</b>器<b class='flag-5'>編寫(xiě)</b>MSP430程序?qū)崿F(xiàn)<b class='flag-5'>LED</b>閃爍

    如何編寫(xiě)控制LED燈的亮滅程序代碼

    【藍(lán)橋杯單片機(jī) 控制LED燈電路經(jīng)典程序】(2)接上篇:一篇(1)中只介紹了控制LED燈的電路,138譯碼器打通573鎖存器,鎖存器再控制八路LED燈。這篇主要介紹如何
    發(fā)表于 12-02 06:23

    LED基礎(chǔ)模塊的程序代碼該怎樣去編寫(xiě)

    LED基礎(chǔ)模塊的程序代碼該怎樣去編寫(xiě)呢?蜂鳴器基礎(chǔ)模塊的程序代碼該怎樣去編寫(xiě)呢?
    發(fā)表于 01-25 06:37

    為什么用NUCLEO板編寫(xiě)的中斷代碼觸發(fā)LED會(huì)失敗呢

    我正在嘗試使用我的 NUCLEO 板(PC13)用戶按鈕編寫(xiě)一個(gè)中斷代碼來(lái)觸發(fā) LED(PB14)。然而,正如我從調(diào)試器中觀察到的那樣,
    發(fā)表于 12-08 07:03

    如何編寫(xiě)Arm匯編代碼

    大多數(shù)開(kāi)發(fā)人員使用高級(jí)語(yǔ)言(如C和C++)編寫(xiě)大部分代碼。然后將此高級(jí)源代碼編譯為在目標(biāo)設(shè)備運(yùn)行的機(jī)器代碼。 然而,有時(shí)
    發(fā)表于 08-02 13:01

    編寫(xiě)高效Lua代碼的方法

    編寫(xiě)高效Lua代碼的方法
    發(fā)表于 02-07 21:04 ?0次下載

    編寫(xiě)一個(gè)閃爍LED代碼

    電子發(fā)燒友網(wǎng)站提供《編寫(xiě)一個(gè)閃爍LED代碼.zip》資料免費(fèi)下載
    發(fā)表于 10-24 10:55 ?2次下載
    <b class='flag-5'>編寫(xiě)</b>一個(gè)閃爍<b class='flag-5'>LED</b>燈<b class='flag-5'>代碼</b>

    EK-RA4W1 用戶手冊(cè)

    EK-RA4W1 用戶手冊(cè)
    發(fā)表于 02-02 18:41 ?0次下載
    <b class='flag-5'>EK</b>-RA4W1 <b class='flag-5'>用戶</b>手冊(cè)

    使用RESET按鈕切換LED實(shí)現(xiàn)快速用例

    電子發(fā)燒友網(wǎng)站提供《使用RESET按鈕切換LED實(shí)現(xiàn)快速用例.zip》資料免費(fèi)下載
    發(fā)表于 02-06 14:36 ?0次下載
    使用RESET按鈕<b class='flag-5'>切換</b><b class='flag-5'>LED</b><b class='flag-5'>以</b>實(shí)現(xiàn)快速用例

    如何使用參數(shù)化編寫(xiě)可重用的verilog代碼

    ,因?yàn)槲覀兛梢愿p松地將代碼從一個(gè)設(shè)計(jì)移植到另一個(gè)設(shè)計(jì)。 我們?cè)趘erilog中有兩個(gè)可用的結(jié)構(gòu),可以幫助我們編寫(xiě)可重用的代碼 - 參數(shù)化和generate語(yǔ)句。這兩種結(jié)構(gòu)都允許我們創(chuàng)建更通用的
    的頭像 發(fā)表于 05-11 15:59 ?1443次閱讀

    在MicroROS開(kāi)發(fā)板編寫(xiě)HelloWord代碼

    你好,我是愛(ài)吃魚(yú)香ROS的小魚(yú)。這一節(jié)我們正式在MicroROS開(kāi)發(fā)板編寫(xiě)代碼,輸出HelloWorld到電腦。在正式開(kāi)始編寫(xiě)
    的頭像 發(fā)表于 07-02 15:38 ?1637次閱讀
    在MicroROS開(kāi)發(fā)板<b class='flag-5'>上</b><b class='flag-5'>編寫(xiě)</b>HelloWord<b class='flag-5'>代碼</b>

    EK-RA4W1 用戶手冊(cè)

    EK-RA4W1 用戶手冊(cè)
    發(fā)表于 07-03 21:00 ?0次下載
    <b class='flag-5'>EK</b>-RA4W1 <b class='flag-5'>用戶</b>手冊(cè)

    FPGA的Verilog代碼編寫(xiě)規(guī)范

      注:R起頭的是對(duì)編寫(xiě)Verilog代碼的IP設(shè)計(jì)者所做的強(qiáng)制性規(guī)定,G起頭的條款是建議采用的規(guī)范。每個(gè)設(shè)計(jì)者遵守本規(guī)范可鍛煉命名規(guī)范性。
    的頭像 發(fā)表于 08-15 16:23 ?2863次閱讀

    SAM9X60-EK用戶指南

    電子發(fā)燒友網(wǎng)站提供《SAM9X60-EK用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-20 09:43 ?0次下載
    SAM9X60-<b class='flag-5'>EK</b><b class='flag-5'>用戶</b>指南

    兩款LED線性恒流控制芯片:SM2212EK和SM2213EK的對(duì)比

    SM2212EK和SM2213EK都是屬于LED線性恒流控制芯片,那么,這兩款芯片的區(qū)別在哪里?下面就來(lái)分析對(duì)比一下。 SM2212EKLED
    的頭像 發(fā)表于 11-08 16:27 ?1200次閱讀
    兩款<b class='flag-5'>LED</b>線性恒流控制芯片:SM2212<b class='flag-5'>EK</b>和SM2213<b class='flag-5'>EK</b>的對(duì)比