Arduino M0 Pro的单步调试功能-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8134|回复: 3

Arduino M0 Pro的单步调试功能

[复制链接]
发表于 2016-8-1 23:48 | 显示全部楼层 |阅读模式
本帖最后由 吹口琴的钢铁侠 于 2016-8-1 23:47 编辑
在软件开发中,我们会写完一些代码之后进行测试,有些是直接运行,运气好就能找出bug的所在之处,运气不好的时候加点printf之类的语句,捣腾捣腾可能也出来了;运气最差的时候,就需要用断点调试或者单步调试了,比如Visual Studio调试C++,GDB调试C语言;对于很多硬件(单片机)其实也是可以调试的,一般情况下我调试Arduino会使用串口来做到类似于C语言里面的printf的效果,不过有些单片机是可以直接板上单步调试的,比如有些STC的芯片。
那么Arduino M0 Pro也是可以单步调试的,这个和一般Arduino主板不同的原因当然是他的主控芯片和以往不同了,用的是AtmelSAMD21,配备了 Atmel 的嵌入式调试器 (EDBG),该调试器提供一个完整的调试接口,关于M0 Pro的初步介绍可以看这个帖子


首先我们要用到的工具是Arduino IDEAtmel Studio,对于后者,大家平时用到的比较少,不过他其实完全可以用来开发Arduino,而不使用Arduino IDE;这次呢,也主要使用来调试。


生成用于调试的文件
这里使用的是Arduino的IDE,因为M0是Arduino.org家的,所以还得用他家的IDE。
演示用一下最简单的Blink程序,IDE选择Arduino M0 Pro (Programming Port)。

屏幕截图(18).png

屏幕截图(19).png

把两行的延时函数给注释掉,

捕获.PNG


单击编译并烧写程序到Arduino M0 Pro上去,完成之后不要急着关掉这个窗口,看一下下面的黑框提示,确定中间产生的文件的路径。
这个时候板子应该是以极快的速度跳转LED的亮灭的。


使用Atmel Studio来单步调试
安装Atmel Studio的过程有点漫长= =,毕竟打开来发现就是和Visual Studio一个量级一个模子的...

QQ图片20160801231455.png

选择打开文件并debug

2.PNG

上面一个文件框选择刚才看到的文件路径

3.PNG


4.PNG

注意第一个是missing的,选择这个需要调试的项目的ino文件路径

5.PNG


7.PNG

单击这个绿色箭头,出现下面的界面,照这么填。

image023.png

然后和大多数IDE一样,在左边的灰色区域单击出现红色断点,然后再单击绿色箭头的时候,就会停在其中一个断点了,然后单击再跳转到下一个断点,也就是所谓的单步调试。

8.PNG

6.PNG






发表于 2016-8-2 13:52 | 显示全部楼层
请教一下各位大俠,Arduino 用红外遥控时,10到100的程序怎样编写
比如NEC的:
long a1  = 0x00FF30CF;   //1
long a2  = 0x00FF18E7;   //2
long a3  = 0x00FF7A85;   //3
long a4  = 0x00FF10EF;   //4
long a5  = 0x00FF38C7;   //5
long a6  = 0x00FF5AA5;   //6
long a7  = 0x00FF42BD;   //7
long a8  = 0x00FF4AB5;   //8
long a9  = 0x00FF52AD;   //9


那10以后呢?怎样写望大俠们赐教,谢谢!
 楼主| 发表于 2016-8-2 14:45 | 显示全部楼层
黄汉B 发表于 2016-8-2 13:52
请教一下各位大俠,Arduino 用红外遥控时,10到100的程序怎样编写
比如NEC的:
long a1  = 0x00FF30CF;   / ...

发到求助区去吧。。
发表于 2016-8-2 21:42 | 显示全部楼层
好的求助区,谢谢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 03:32 , Processed in 0.086479 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表