文号
t72764
阅读
15743
回复
8
收藏
3
在VisualStudio中编译上传并调试Arduino程序
2015/07/21
IP:上海
原文:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(每次看到有人辛苦的serial.print()就感到莫名蛋疼)


=======此文不发在编程版的原因=======
1. 太水
2. 不够专业(同上)
3. 本文内容具有普遍性,水区受众面更广
4. (Optional) 版主觉得有必要也可以移到编程区
=======


Arduino自带的IDE太弱了,仅支持自带关键词高亮,没有自动完成,没有变量/函数自动跳转到原型/声明,尤其是include外部的库以后,显得尤其麻烦。
VisualStudio作为微软的老牌IDE近日逐渐强大,第三方插件亦雨后春笋般的出现简直是如虎添翼。(VS2015今天发布啦)
VisualMicro (XXXXXXXXXXXXXXXXXXXXXXXXXXX)就是一款让VS支持Arduino的插件。环境搭建需要:
  • Arduino IDE
  • VisualStudio (2012)
  • VisualMicro

然后就能愉快的玩耍了。
ArduinoForVisualStudio2012.png


至于debug,很简单。(调试模式会耗费部分资源,影响单片机运行速度,调试结束后请及时重新编译不带调试功能的release版本)
先打一个断点。注意,有些板子只能打在函数入口上,函数内部的断点无法调试
2015-07-19 12_50_46-GreatDecision - Microsoft Visual Studio.png



然后在断点上右键,编辑when hit行为,然后把你想要看的变量名放进花括号中即可(随便多少个都可以)
2015-07-19 12_53_13-GreatDecision - Microsoft Visual Studio.png



最后调到debug编译环境,启动程序即可
2015-07-19 12_55_43-GreatDecision - Microsoft Visual Studio.png



调试输出
2015-07-19 13_00_18-GreatDecision - Microsoft Visual Studio.png




停止调试。
打开串口监视器,选择停止调试。 2015-07-19 13_02_07-GreatDecision - Microsoft Visual Studio.png
来自:
软件综合
8
celeron533作者
11年5个月前IP:上海
781836
1楼
发水区真的没人看啊
引用
评论
11年4个月前IP:广东
783490
2楼
引用 celeron533:
发水区真的没人看啊
标题不够biao详ti细dang
建议改成:【Arduino调教教程】(基于VisualStudio平台编写)

配图专门弄个arduino和vs的logo
引用
评论
celeron533作者
11年4个月前IP:上海
783692
3楼
引用 20!不曾存在:
标题不够biao详ti细dang
建议改成:【Arduino调教教程】(基于VisualStudio平台编写)

配图专门弄个arduino和vs的logo
这丧心病狂的标题估计会被人抽死
引用
评论
celeron533作者
11年4个月前IP:上海
783696
4楼
由于visuals studio 2015结构发生了变化,新版的visual micro已插件形式加载。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

注意,这个扩展仅适用于vs2015
attachment icon Visual.Micro.Arduino.Studio.zip 2.21MB ZIP 53次下载
引用
评论
celeron533作者
11年4个月前IP:上海
785044
5楼
顺便放一个u8glib_arduino_v1.17



attachment icon u8glib_arduino_v1.17.7z 576.63KB 7Z 38次下载
引用
评论
11年4个月前IP:北京
785048
6楼
完全无法忍受写程序只有一个文件。。
引用
评论
celeron533作者
11年4个月前IP:上海
785111
7楼
引用 1176764177:
完全无法忍受写程序只有一个文件。。
可以花样include
引用
评论
celeron533作者
11年0个月前IP:上海
800565
8楼
然而这个插件的调试功能是收费的,而且会产生一大堆附加文件。。。。轻量级的话,可以使用sublime
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的