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

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

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

UnoArduSim的使用方法介紹

科技觀察員 ? 來源:Sharad Bhowmick ? 作者:Sharad Bhowmick ? 2022-06-14 17:23 ? 次閱讀

Arduino Uno 是由一個(gè)非常大的開發(fā)人員社區(qū)支持的最常用的微控制器之一。成本和易用性使 Arduino 板成為制作簡(jiǎn)單DIY 電子項(xiàng)目的有吸引力的選擇。模擬器用于加速編寫和調(diào)試代碼的過程,因?yàn)槟恍枰魏?a target="_blank">硬件,也不必進(jìn)行任何物理連接來測(cè)試您的程序。此外,模擬器簡(jiǎn)化了調(diào)試過程,尤其是在懷疑軟件錯(cuò)誤和硬件問題的情況下。在本教程中,我們將學(xué)習(xí) UnoArduSim,這是一個(gè)具有Arduino Uno和 Mega 板的模擬器,并且可以選擇最多 24 個(gè) I/O 設(shè)備。

什么是 UnoArduSim?

UnoArduSim 由加拿大安大略省皇后大學(xué)的 Simmons 教授開發(fā)。他利用該平臺(tái)為電氣與計(jì)算機(jī)工程系二年級(jí)的學(xué)生授課。開發(fā)圖形模擬器是為了讓學(xué)生無需任何額外硬件即可測(cè)試他們的機(jī)器人代碼。

UnoArduSim 是一個(gè)Arduino 模擬器,可讓您在 Arduino Uno 和 Arduino Mega 板上進(jìn)行實(shí)時(shí)代碼調(diào)試。該模擬器用于編譯和測(cè)試代碼。它 支持除“goto”指令之外的所有原生 Arduino 語言元素。此外,它不支持的一些 C/C++ 語言元素包括 Bit-saving、union 和古怪的“逗號(hào)運(yùn)算符”也不支持。

界面

這個(gè)模擬器有一個(gè)非?;?dòng)和易于理解的界面。Simulator 的界面大致分為三個(gè)部分。代碼窗格、變量窗格和實(shí)驗(yàn)室工作臺(tái)窗格。除了 3 個(gè)窗格之外,還有一個(gè)包含所有菜單選項(xiàng)的菜單欄和一個(gè)包含用于快速操作的圖標(biāo)的工具欄。下圖顯示了 UnoArduSim 的界面。

poYBAGKoUyiAR8dxAAcvYgm0qAc868.png

代碼窗格

從名稱本身,我們可以理解代碼窗格包含代碼或程序。代碼窗格可用于跟蹤程序運(yùn)行時(shí)的執(zhí)行情況,它還以紅色突出顯示代碼中的任何錯(cuò)誤。

雙擊代碼窗格打開編輯/視圖,您可以在其中修改代碼。它有一個(gè)有用的功能,讓您可以方便地從提供的列表中選擇要包含在代碼中的內(nèi)置函數(shù)調(diào)用(或內(nèi)置“#define”常量)。它還提供了自動(dòng)添加分號(hào)或突出顯示功能的選項(xiàng)。

pYYBAGKoUySAA1XQAAMFbEm7ctA076.png

變量窗格

它位于屏幕左下角的代碼窗格下方。它包含每個(gè)用戶的當(dāng)前值。該窗口還顯示執(zhí)行期間的變量值。

pYYBAGKoUyGAbc9wAAK6nAJN0xI109.png

實(shí)驗(yàn)室工作臺(tái)窗格

實(shí)驗(yàn)室工作臺(tái)窗格顯示選定的 Arduino 板,即 Uno 或 Mega。它還具有使用配置選項(xiàng)選擇的不同外圍設(shè)備。Lab Bench Pane 上的微控制器的行為與真正的電路板完全一樣。所有 I/O 設(shè)備和微控制器,即“Uno”和“Mega”都非常準(zhǔn)確。組件的電氣模型有助于準(zhǔn)確分析程序的行為,甚至?xí)?biāo)記電氣引腳。例如:復(fù)位板時(shí),指示燈 LED 閃爍。實(shí)驗(yàn)室工作臺(tái)窗格如下圖所示:

poYBAGKoUx2ASWI_AAVF8Xfs8EQ616.png

該板還具有觀察每個(gè) I/O 引腳波形的選項(xiàng)??梢栽趫?zhí)行程序時(shí)完成,您必須單擊特定引腳才能看到數(shù)字波形。您最多可以選擇 4 個(gè)波形顯示在屏幕上。

pYYBAGKoUxiAdAgXAAIr1wCyZrU223.png

菜單欄

菜單欄包含操作和控制模擬的所有選項(xiàng),它為我們提供了文件、查找、執(zhí)行、選項(xiàng)、配置、VarRefresh、Windows 和幫助等選項(xiàng)。以下是所有功能的簡(jiǎn)要介紹:

文件:

Load INO / PDE Prog - 允許用戶選擇具有選定擴(kuò)展名的程序文件。該程序立即得到一個(gè) Parse。

編輯/查看 (ctrl-E ) - 它打開編輯器窗口。

保存 - 將編輯后的代碼保存到現(xiàn)有文件中。

另存為 - 將編輯后的代碼保存到新文件中。

Next ( ‘#include ’) - 用于在代碼窗格中顯示下一個(gè)‘#include’文件

上一個(gè) - 用于在代碼窗格中顯示上一個(gè)文件

Exit - 用于退出模擬器。

執(zhí)行:

Step-Into (F4) - 用于單條指令繼續(xù)指令

Step-Over (F5) - 用于在一個(gè)完整的函數(shù)調(diào)用上通過單個(gè)指令繼續(xù)執(zhí)行指令。

Step-Out-Of (F6) - 將執(zhí)行提前到足以離開當(dāng)前函數(shù)。

Run-To (F7) - 僅運(yùn)行程序直到所需的行。

運(yùn)行 (F9) - 它執(zhí)行并運(yùn)行代碼。

Halt (F10) - 它停止代碼的執(zhí)行。

重置 - 用于將程序重置為啟動(dòng)狀態(tài)。

慢動(dòng)作 - 用于將時(shí)間減慢 10 倍。

輸入輸出設(shè)備

I/O 設(shè)備分為兩類,較小的“I/O”設(shè)備和大型“I/O”設(shè)備。隔離基于現(xiàn)實(shí)世界中設(shè)備的大小,較小的“I/O”設(shè)備包含按鈕、開關(guān)電阻、壓電揚(yáng)聲器、彩色 LED、4-LED 行、7 段 LED、引腳跳線和模擬滑塊,而大“I/O”設(shè)備有伺服電機(jī)、直流電機(jī)等,它還有其他外圍設(shè)備,如 MUX、顯示器等。所有輸入和輸出外圍設(shè)備如下圖所示:

pYYBAGKoUxOAR3QYAARpkCwWOP0956.png

用戶可以選擇總共 16 個(gè)較小的“I/O”設(shè)備和 8 個(gè)大“I/O”設(shè)備。

UnoArduSim 限制!!

模擬器幾乎沒有限制。最大的限制是《Servo.h》、《Wire.h》、《OneWire.h》、《SPI.h》、《EEPROM.h》等庫只能仿真。它們的功能直接內(nèi)置在模擬器中,因此不會(huì)搜索實(shí)際文件。

支持的庫很少

支持的庫是‘SoftwareSerial.h’、‘SPI.h’、‘Wire.h’、‘OneWire.h’、‘Servo.h’ 、‘Stepper.h’、‘SD.h’、‘TFT.h ’和‘EEPROM.h’。因此,其他庫將無法工作,因?yàn)樗鼈儗皇苤С值闹噶詈蜔o法識(shí)別的文件。

實(shí)時(shí)仿真

Arduino 程序指令的執(zhí)行時(shí)間不準(zhǔn)確,因?yàn)樗鼈儧]有準(zhǔn)確建模,因此對(duì)于每個(gè)循環(huán),都需要一個(gè)“延遲()”指令來運(yùn)行與實(shí)時(shí)引腳電平變化同步的程序。

除了上述限制之外,模擬器不支持通過用戶聲明的函數(shù)指針進(jìn)行函數(shù)調(diào)用。

Arduino 模擬器替代品

市場(chǎng)上有很多可供選擇的 Arduino 模擬器,其中一些最常見的模擬器是:

Tinkercad 電路

虛擬面包板和頭像硬件

PICSimLab

沃奎

IO 模擬器

變形蟲

弗里茨

如何使用 UnoArduSim?

首先從 網(wǎng)站下載軟件 并解壓縮文件。

pYYBAGKoUw2AXNmEAASbRfLbL7U031.png

在文件夾中,找到 UnoArduSim.exe 文件并雙擊運(yùn)行模擬器。

第一步是選擇您的微控制器。為此,請(qǐng)單擊菜單欄中的配置,然后從出現(xiàn)的下拉菜單中打開首選項(xiàng)。將出現(xiàn)一個(gè)新的彈出窗口,在這里您可以選擇 Board、TWI Bytes,它具有自動(dòng)縮進(jìn)、自動(dòng)插入關(guān)閉等功能。選擇板并單擊加載。

poYBAGKoUwmATL9CAAJwAm35Q8Y142.png

現(xiàn)在,為了選擇輸入和輸出外圍設(shè)備,再次單擊菜單欄中的配置并從出現(xiàn)的下拉菜單中打開“I/O 設(shè)備” 。將出現(xiàn)一個(gè)新的彈出窗口,您可以在此處從給定菜單中選擇所有需要的外圍設(shè)備。

pYYBAGKoUwSAD6WSAAJ4S2cLR-0417.png

編程

如果您已經(jīng)有一個(gè) ‘.ino’ 或 ‘.pde’ 格式的 Arduino 代碼,您可以通過單擊文件》加載 INO 或 PDE 直接上傳它。

要編寫代碼,請(qǐng)雙擊代碼窗格以打開編輯器。或者,您可以單擊文件,然后單擊編輯/查看。您也可以同時(shí)按 Ctrl + E 打開編輯器。

編寫程序后,單擊編譯按鈕。

poYBAGKoUv-AbuuiAAMBCBNKaB4866.png

編譯完成后,選擇所需的 I/O,并根據(jù)程序中分配的管腳,通過在外設(shè)塊中提供的空間上鍵入來分配 I/O 外設(shè)上的管腳。

pYYBAGKoUvuADP14AAB0Oh-Kt74612.png

現(xiàn)在,單擊菜單欄中的執(zhí)行并選擇運(yùn)行選項(xiàng),它將開始執(zhí)行程序。

pYYBAGKoUveASL2ZAAPugtWAeks078.png

現(xiàn)在,要通過更改輸入來查看您的設(shè)置和代碼將如何執(zhí)行,請(qǐng)通過單擊按鈕更改輸入外圍設(shè)備的值或更改外圍符號(hào)上的值以查看您的系統(tǒng)應(yīng)該如何執(zhí)行。

poYBAGKoUvOAWUyOAAQvaJom9Bs843.png

結(jié)論

UnoArduSim 是一個(gè)易于使用的模擬器。該模擬器具有許多功能,您可以通過使用該軟件輕松使用這些功能。它通過突出顯示錯(cuò)誤使調(diào)試更容易。因此,即使您是微控制器世界的新手并嘗試學(xué)習(xí) Arduino 編程,或者想要調(diào)試您的代碼或知道您的代碼將如何執(zhí)行而無需投入時(shí)間和資源以快速有效的方式組裝組件,那么這軟件對(duì)您非常有用。

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

    關(guān)注

    2

    文章

    855

    瀏覽量

    42978
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185927
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    英飛凌MEMTOOL軟件介紹使用方法

    ,附件中詳細(xì)介紹了這款軟件支持的操作系統(tǒng)平臺(tái)、支持燒錄的英飛凌MCU系列和具體型號(hào),并詳細(xì)介紹了軟件的使用方法。MEMTOOL軟件介紹使用方法
    發(fā)表于 12-14 09:39

    Modelsim詳細(xì)使用方法

    Modelsim 詳細(xì)使用方法介紹。點(diǎn)擊下載
    發(fā)表于 04-23 10:28

    全面介紹docker的使用方法

    docker使用方法
    發(fā)表于 07-25 14:22

    介紹示波器的特殊使用方法

    本文介紹了示波器的特殊使用方法。
    發(fā)表于 05-06 10:36

    介紹獨(dú)立按鍵基本的使用方法

    獨(dú)立按鍵基本的使用方法——狀態(tài)機(jī)(有人也喜歡用三行代碼的方法。當(dāng)然這都無所謂,蘿卜白菜各有所愛,只要?jiǎng)e用主時(shí)序給按鍵消抖就行?。?、要使用獨(dú)立按鍵,那么開發(fā)板上的J5跳帽必須接到BTN(獨(dú)立按鍵)。...
    發(fā)表于 01-06 06:30

    介紹SPI的使用方法

    寫在最前使用RT-Thread Studio開發(fā)環(huán)境開發(fā)STM32單片機(jī)程序,與MDK使用env有一定的差別,對(duì)于剛開始使用的程序員來說,主要是找不到配置選項(xiàng)在哪里,上一篇介紹了TIM設(shè)備的使用方法
    發(fā)表于 02-17 06:32

    ipod touch使用方法/使用技巧

    ipod touch使用方法:此文檔介紹的非常詳細(xì).
    發(fā)表于 11-23 09:03 ?16次下載

    示波器的使用方法

    示波器的使用方法 1 示波器使用        本節(jié)介紹示波器的使用方法。示波器種類、型號(hào)很多,功能也不同。
    發(fā)表于 01-14 13:06 ?1.8w次閱讀

    Verilog HDL語言的文件調(diào)用問題:include使用方法介紹

    本文簡(jiǎn)單介紹在使用Verilog HDL語言時(shí)文件的調(diào)用問題之include使用方法介紹及舉例說明,詳見本文...
    發(fā)表于 01-24 14:40 ?6669次閱讀
    Verilog HDL語言的文件調(diào)用問題:include<b class='flag-5'>使用方法</b><b class='flag-5'>介紹</b>

    固定流動(dòng)電子狗使用方法介紹

    固定流動(dòng)電子狗使用方法介紹,感興趣的小伙伴可以看看。
    發(fā)表于 07-28 10:21 ?6次下載

    面包板的結(jié)構(gòu)和使用方法詳細(xì)介紹

    面包板是實(shí)驗(yàn)室中用于搭接電路的重要工具,熟練掌握面包板的使用方法是提高實(shí)驗(yàn)效率,減少實(shí)驗(yàn)故障出現(xiàn)幾率的重要基礎(chǔ)之一。下面就面包板的結(jié)構(gòu)和使用方法做簡(jiǎn)單介紹。
    發(fā)表于 10-31 08:00 ?0次下載
    面包板的結(jié)構(gòu)和<b class='flag-5'>使用方法</b>詳細(xì)<b class='flag-5'>介紹</b>

    STM32 ST-LINK Utility介紹、 下載、安裝、使用方法

    STM32 ST-LINK Utility介紹、下載、安裝、使用方法
    的頭像 發(fā)表于 03-24 13:55 ?5.6w次閱讀
    STM32 ST-LINK Utility<b class='flag-5'>介紹</b>、 下載、安裝、<b class='flag-5'>使用方法</b>

    淺談STM32CubeMX使用方法及功能介紹

    STM32CubeMX使用方法及功能介紹
    的頭像 發(fā)表于 03-25 11:02 ?1.2w次閱讀
    淺談STM32CubeMX<b class='flag-5'>使用方法</b>及功能<b class='flag-5'>介紹</b>

    示波器的使用方法(三):示波器的使用方法詳解

    示波器的使用方法并非很難,重點(diǎn)在于正確使用示波器的使用方法。往期文章中,小編對(duì)模擬示波器的使用方法和數(shù)字示波器的使用方法均有所介紹。為增進(jìn)大
    的頭像 發(fā)表于 12-24 20:37 ?2983次閱讀

    WinCC中定時(shí)器使用方法介紹

    WinCC中定時(shí)器使用方法介紹說明。
    發(fā)表于 04-22 14:50 ?8次下載