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

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

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

怎樣用VisualStudio調(diào)試Arduino程序

454398 ? 來源:工程師吳畏 ? 2019-08-02 14:12 ? 次閱讀

監(jiān)控GPIO引腳

使用GPIO引腳作為輸入時,可能會遇到意外行為。為了更好地了解正在發(fā)生的事情,您可以監(jiān)控Arduino端口。

雖然可以通過使用控制臺輸出來打印引腳狀態(tài)來監(jiān)視Arduino IDE的端口,但VisualMicro可以為您執(zhí)行此操作,并生成一個顯示每個引腳狀態(tài)的方便圖表。

首先啟用監(jiān)視器:

怎樣用VisualStudio調(diào)試Arduino程序

下次上傳程序時,應顯示以下面板:

每個GPIO引腳用一個正方形表示,每個方塊的顏色表示引腳狀態(tài)。紅色表示低狀態(tài),綠色表示高狀態(tài)??梢詾?a href="http://srfitnesspt.com/analog/" target="_blank">模擬引腳生成類似的圖表。

檢查程序流程

你可能已經(jīng)在代碼中輸入了控制臺輸出測試您的應用程序是否達到特定的代碼行。雖然你可以做到這一點,但有一個更簡單的解決方案。您可以使用不會暫停程序執(zhí)行的斷點。相反,它會在到達時向控制臺輸出一行。

要添加斷點,請右鍵單擊并選擇“操作”。應出現(xiàn)一個面板,允許您在到達斷點時輸入打印到控制臺的文本:

設置您想要連接到斷點的消息。

要啟用“經(jīng)典調(diào)試”,到達斷點將暫停程序執(zhí)行,取消選中“繼續(xù)執(zhí)行”復選框。

打印和檢查變量值

VisualMicro調(diào)試器與Visual Studio調(diào)試器的工作方式不同,因為應用程序不是在開發(fā)它們的計算機上執(zhí)行的。但是,您仍然可以使調(diào)試器顯示變量值以輕松確定其行為。

設置其他顯示的一種方法是使用上面的斷點。您不僅可以在遇到斷點時設置自定義文本輸出,還可以通過在大括號中添加變量名稱來向文本添加變量值:

使用大括號中的命令向斷點添加變量。

當您在Arduino上運行代碼時,輸出面板應顯示您的調(diào)試消息:

您還會注意到VisualMicro生成一個斷點中使用的每個變量的表:

表格應自動顯示當您調(diào)試代碼時,每個斷點設置為打印變量值。如果沒有,請嘗試打開串行監(jiān)視器,然后重新上傳代碼。

更改變量值

許多IDE允許您在更改變量值時該程序暫停。您必須從上面更新斷點定義才能啟用此功能。將“=?”附加到您希望能夠在調(diào)試期間更改的變量名稱:

將代碼重新上傳到Arduino后,可以使用之前的表來更改值。但是,斷點必須在程序到達時停止。

調(diào)試代碼:基本任務

這個基本指南教你一切你需要知道的事情開始在VisualMicro中調(diào)試Arduino應用程序。這樣可以更容易理解應用程序中發(fā)生的錯誤并編寫更好的代碼。

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

    關注

    187

    文章

    6455

    瀏覽量

    186363
  • visualstudio
    +關注

    關注

    0

    文章

    4

    瀏覽量

    2319
收藏 人收藏

    評論

    相關推薦

    怎樣用THS3201實現(xiàn)輸出功率可調(diào)?

    怎樣用THS3201實現(xiàn)輸出功率可調(diào)?
    發(fā)表于 08-26 08:28

    OPA735加OPA333,怎樣用TINA TI去仿真?

    當輸入信號VG1從7.06V慢慢變化到7.22V時。 輸出電壓Vout的變化必須是接近線性變化的。我想知道我該怎樣用TINA TI去仿真?怎樣設置那個輸入信號VG1才能達到我的目的。因為這個電壓源好像
    發(fā)表于 08-02 08:39

    怎樣用Arduino測試鋰電池容量

    本文詳細介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino程序代碼。
    的頭像 發(fā)表于 07-30 09:14 ?574次閱讀
    <b class='flag-5'>怎樣用</b><b class='flag-5'>Arduino</b>測試鋰電池容量

    求助,在esp-idf中使用arduino作為組件后怎樣使用arduino的庫?

    在esp-idf中使用arduino作為組件后怎樣使用arduino的庫,例如我此時需要使用arduino的第三方庫blinker,怎樣使用
    發(fā)表于 06-12 07:21

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?
    發(fā)表于 05-07 06:55

    stm32f100怎樣用重映射功能?

    的是stm32f100c8t6b芯片,現(xiàn)在想用將PB1映射為TIM1_CH3N,在調(diào)用GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_TIM1)時, GPIO_PinAFConfig和GPIO_AF_TIM1都沒定義,stm32f100
    發(fā)表于 05-07 06:06

    STM32F412G-DISCO怎樣用MX生成fatfs的代碼?

    STM32F412G-DISCO怎樣用MX生成fatfs的代碼? SD卡例程能跑,但mx生成的代碼不能正常運行,我生成代碼后是不是還要配置一些東西?(我生成后只寫了測試代碼) 問題解決了,雖然我不知道我為什么不能直接使用mx生成的代碼去操作sd卡,但我通過復制粘貼例程的代碼完成了測試。
    發(fā)表于 03-12 08:15

    如何使用linux下gdb來調(diào)試python程序

    如何使用linux下gdb來調(diào)試python程序? 在Linux下,可以使用GDB(GNU調(diào)試器)來調(diào)試Python程序。GDB是一個強大的
    的頭像 發(fā)表于 01-31 10:41 ?2260次閱讀

    怎樣用表來判斷加熱管的好壞?

    怎樣用表來判斷加熱管的好壞? 萬表是電工常用的測量儀器,它可以用來判斷加熱管的好壞。加熱管是一種常見的加熱元件,廣泛應用于家電、機械設備和工業(yè)生產(chǎn)中。在選擇和使用加熱管時,我們需要了解其電阻值
    的頭像 發(fā)表于 12-20 17:21 ?4412次閱讀

    USB調(diào)試模式是什么意思?USB調(diào)試模式有什么

    USB調(diào)試模式是什么意思?USB調(diào)試模式有什么? USB調(diào)試模式是一種在Android設備上進行開發(fā)、測試和調(diào)試的模式。當設備處于USB
    的頭像 發(fā)表于 12-11 11:06 ?9849次閱讀

    無線通信:怎樣用電磁波表示1和0

    為什么頻率越高,能攜帶的信息就越多?以數(shù)字信號為例,信息就是一串串的1和0,所以先搞清楚怎樣用電磁波表示1和0。
    發(fā)表于 12-05 14:44 ?1603次閱讀
    無線通信:<b class='flag-5'>怎樣用</b>電磁波表示1和0

    ADAU1452做FFT分析,怎樣設定取樣點的數(shù)量?

    請問,我想用ADAU1452做FFT分析,怎樣設定取樣點的數(shù)量,還有就是怎樣用單片機讀出分析得到的復數(shù)結果數(shù)組?謝謝!
    發(fā)表于 11-29 06:42

    怎樣用ADAU1761設計DRC的壓縮/擴展?

    請問怎樣用ADAU1761設計DRC的壓縮/擴展。我在SigmaStudio 4.5的模塊中只找到RMS。如果ADAU1761設計DRC要怎樣
    發(fā)表于 11-28 06:41

    怎樣用32單片機測電壓?

    怎樣用32單片機測電壓
    發(fā)表于 10-31 07:09

    怎樣用表區(qū)分LM317T的三個腳的功能?

    怎樣用表區(qū)分LM317T的三個腳的功能? 萬表是一種多功能電測儀器,可以用來測試電阻、電流、電壓和其他電路參數(shù)。在處理電子電路時,常常需要使用萬表來區(qū)分各種元器件的功能,特別是
    的頭像 發(fā)表于 10-26 11:27 ?3665次閱讀