0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用VisualStudio调试Arduino程序

454398 来源:工程师吴畏 2019-08-02 14:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

监控GPIO引脚

使用GPIO引脚作为输入时,可能会遇到意外行为。为了更好地了解正在发生的事情,您可以监控Arduino端口

虽然可以通过使用控制台输出来打印引脚状态来监视Arduino IDE的端口,但VisualMicro可以为您执行此操作,并生成一个显示每个引脚状态的方便图表。

首先启用监视器:

怎样用VisualStudio调试Arduino程序

下次上传程序时,应显示以下面板:

每个GPIO引脚用一个正方形表示,每个方块的颜色表示引脚状态。红色表示低状态,绿色表示高状态。可以为模拟引脚生成类似的图表。

检查程序流程

你可能已经在代码中输入了控制台输出测试您的应用程序是否达到特定的代码行。虽然你可以做到这一点,但有一个更简单的解决方案。您可以使用不会暂停程序执行的断点。相反,它会在到达时向控制台输出一行。

要添加断点,请右键单击并选择“操作”。应出现一个面板,允许您在到达断点时输入打印到控制台的文本:

设置您想要连接到断点的消息。

要启用“经典调试”,到达断点将暂停程序执行,取消选中“继续执行”复选框。

打印和检查变量值

VisualMicro调试器与Visual Studio调试器的工作方式不同,因为应用程序不是在开发它们的计算机上执行的。但是,您仍然可以使调试器显示变量值以轻松确定其行为。

设置其他显示的一种方法是使用上面的断点。您不仅可以在遇到断点时设置自定义文本输出,还可以通过在大括号中添加变量名称来向文本添加变量值:

使用大括号中的命令向断点添加变量。

当您在Arduino上运行代码时,输出面板应显示您的调试消息:

您还会注意到VisualMicro生成一个断点中使用的每个变量的表:

表格应自动显示当您调试代码时,每个断点设置为打印变量值。如果没有,请尝试打开串行监视器,然后重新上传代码。

更改变量值

许多IDE允许您在更改变量值时该程序暂停。您必须从上面更新断点定义才能启用此功能。将“=?”附加到您希望能够在调试期间更改的变量名称:

将代码重新上传到Arduino后,可以使用之前的表来更改值。但是,断点必须在程序到达时停止。

调试代码:基本任务

这个基本指南教你一切你需要知道的事情开始在VisualMicro中调试Arduino应用程序。这样可以更容易理解应用程序中发生的错误并编写更好的代码。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195969
  • visualstudio
    +关注

    关注

    0

    文章

    4

    浏览量

    2433
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Arduino plc和termux esp

    Arduino plc和termux esp
    的头像 发表于 12-06 06:41 1393次阅读

    大神们,想知道你们都用什么ide编程调试器? Arduino IDE?还是 e2studio ?还有其他吗?哪个好用呢

    大神们,想知道你们都用什么ide编程调试器? Arduino IDE? 还是 e2studio ? 还有其他吗? 哪个IDE好用呢? 求指点呀
    发表于 11-30 12:05

    闪灯程序的构建与调试

    在上一篇文章中我们成功了搭建了环境,那么接下来就用闪灯程序来认识一下编译和调试工具吧!
    的头像 发表于 11-05 14:52 4017次阅读
    闪灯<b class='flag-5'>程序</b>的构建与<b class='flag-5'>调试</b>

    WEMOS D1 R32 Arduino IDE 点灯程序 及搭建

    https://v.kuaishou.com/J43p6seX D1 R32 "Arduino IDE "闪烁 该作品在快手被播放过1次,点击链接,打开【快手】直接观看!
    的头像 发表于 10-27 14:51 234次阅读

    如何在应用程序调试期间分析栈和堆使用情况

    ,并在 Unified IDE 中仍可使用。本文涵盖了如何在 Vitis 中使用分析工具在应用程序调试期间对栈和堆进行监控。
    的头像 发表于 10-24 16:54 586次阅读
    如何在应用<b class='flag-5'>程序</b><b class='flag-5'>调试</b>期间分析栈和堆使用情况

    CAN总线远程调试工具介绍

    一种工程机械领域调试上的创新产品,可用于Codesys 源程序的无线下载联机、远程调试、故障诊断、CAN 总线数据在线监控、透传收发、数据采集、数据分析、远程控制等各种 CAN 总线通讯的场景。
    发表于 10-17 16:14 0次下载

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录
    的头像 发表于 08-08 20:16 3062次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3开发板给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3开发板重新烧录引导<b class='flag-5'>程序</b>bootlaoder

    硬件调试:JLink 驱动配置与调试技巧

    摘要: 本文深入探讨了 JLink 调试器在嵌入式系统硬件调试中的应用,详细阐述了 JLink 驱动配置的方法以及硬件调试技巧。本文以国科安芯的AS32系列MCU芯片为例,通过分析 JLink
    的头像 发表于 06-12 23:20 1267次阅读
    硬件<b class='flag-5'>调试</b>:JLink 驱动配置与<b class='flag-5'>调试</b>技巧

    使用 CY4500 EZ-PD 协议分析器实用程序调试USB类型C应用程序,无法在 “详细信息” 窗口中找到 \" HPD 状态\"怎么解决?

    我正在使用 CY4500 EZ-PD 协议分析器实用程序调试我的 USB 类型 C 应用程序。 将实用程序从 v1.0 更新到 3.1.0 后,我无法在 “详细信息” 窗口中找到 \
    发表于 05-28 07:05

    如何使用VSCode+gdbserver远程调试ZMC900E

    由于嵌入式设备资源受限,通常无法在其上安装庞大的IDE调试程序,且许多嵌入式系统并无桌面环境。为了方便调试自开发程序,本文介绍利用VSCode与gdbserver进行嵌入式设备上程序
    的头像 发表于 05-22 11:40 660次阅读
    如何使用VSCode+gdbserver远程<b class='flag-5'>调试</b>ZMC900E

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    的由来2.3 Arduino的优势2.4 Arduino语言2.5 Arduino程序结构 2.1 什么是Arduino
    发表于 05-13 09:28

    前端调试实践

    前言 在日常调试问题中,相信我们很多人都是console去排查相关的问题,虽然问题也可以排查出来,但是有时它的效率并不高。这篇文章主要讲解关于断点和一些日常调试技巧的内容,方便你在日后调试
    的头像 发表于 03-11 15:41 549次阅读
    前端<b class='flag-5'>调试</b>实践

    使用Ozone调试基于nRF9160 Zephyr应用程序

    Ozone是SEGGER免费的嵌入式软件调试器。它是一个强大的工具,可以让你深入了解嵌入式系统中发生的事情。它在调试nRF9160 Zephyr应用程序时特别有用。整理多个线程和多映像构建可能很困难,但这就是你想要的工具。
    的头像 发表于 02-25 17:07 1425次阅读
    使用Ozone<b class='flag-5'>调试</b>基于nRF9160 Zephyr应用<b class='flag-5'>程序</b>

    使用ADS1281的SPI采集数据,各个引脚应该怎么连接?

    我想使用ADS1281的SPI采集数据,各个引脚应该怎么连接?那些是必须用I/O口,那些可以直接上拉或下啦,如果想预留PIN模式,怎样用最少的I/O口接线,还有同步输入引脚的作用是什么?应该怎么接线?谢谢
    发表于 02-10 06:52

    TLC3574进行AD转换,无论输入怎样改变,输出数据不变化,怎么解决?

    TLC3574进行AD转换,按照技术手册中微处理器方式接线,硬件默认,模式0工作,CS启动,不知什么原因,无论输入怎样改变,输出数据不变化。特急!有没有合适程序我参考一下?
    发表于 02-07 08:03