繁体   English   中英

你如何调试在Arduino硬件上运行的Arduino代码?

[英]How do you debug Arduino code running on Arduino hardware?

有没有办法设置源级断点,在实际硬件上运行代码,并能够检查变量并继续?

Microsoft Visual Studio 2015社区版(免费)的Visual Micro插件为Arduino提供USB调试器。 它允许您完全按照您的描述进行操作。 (不要忘记在IDE安装期间单击以安装C ++)

调试器支持串行,RF,蓝牙和一些Wi-Fi。 它允许在Arduino运行时监视或更新变量的值。 包括图表和数据/引脚可视化以及监视,跟踪,中断。

在此输入图像描述

新闻:2016年1月还包括为Arduino Zero发布GDB调试器。 与串行/蓝牙调试器一样,GDB版本支持ino / cpp源代码,但另外支持Arduino核心和库的调试。 它支持许多功能,例如:跳过,跳出,步指令或源代码行,内存,寄存器,本地,监视,实时表达式和堆栈跟踪。

在Arduino上设置“源断点”的方法是添加一个串行输出,以将要查看的值发送到串行监视器。

准备好后,下一步是转移到WinAVR,AVR Studio和Atmel JTAG Mark II或Atmel Dragon。

这些程序和设备将允许您创建C代码并单步执行代码并监视变量和寄存器。 JTAG设备可以单步执行C代码或编译器创建的汇编代码。

预先警告高级嵌入式C编程仍然非常靠近机器,您必须小心单步执行中断例程,定时器例程和其他低级例程,因为很多时候它会阻止代码正常运行。

为了检查变量,我只需将它们打印到串行监视器。 这是我正在努力的一个例子:

# Setup
Serial.begin(9600);

# Loop
Serial.println(String(index) + " : " + String(total) + " : " + String(average));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM