极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 30270|回复: 19

Sublime Text2用于arduino IDE

[复制链接]
发表于 2014-10-30 10:59:59 | 显示全部楼层 |阅读模式
我在用Sublime Text2时,arduino IDE的插件也成功装好,但出现下载不了,出现下面问题,而且下载之前不是要对板子进行选型吗?为什么没有UNo   Nano   leonardo 等的选择

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-10-30 11:37:21 | 显示全部楼层
选你的Arduino IDE所在的目录,然后就能用了。
回复 支持 反对

使用道具 举报

发表于 2014-10-30 13:12:29 | 显示全部楼层
放弃Arduino IDE,拥抱Sublime Text 3

http://www.arduino.cn/thread-6510-1-1.html

建议参考
回复 支持 反对

使用道具 举报

发表于 2014-10-30 15:46:22 | 显示全部楼层
joln 发表于 2014-10-30 13:12
放弃Arduino IDE,拥抱Sublime Text 3

http://www.arduino.cn/thread-6510-1-1.html

用 Sublime Text 3, 同樣需要設定 arduino 目錄的.
回复 支持 反对

使用道具 举报

发表于 2014-10-30 17:02:21 | 显示全部楼层
本帖最后由 peanut 于 2014-10-30 17:04 编辑

现在master版本问题太多,不敢升级了。
新写的版本,还在不断完善中,可以手动安装试用。
等这个版本完成了测试结束,就会转成master分支。
https://github.com/Robot-Will/Stino/tree/new-stino
回复 支持 反对

使用道具 举报

发表于 2014-10-30 22:27:58 | 显示全部楼层
peanut 发表于 2014-10-30 17:02
现在master版本问题太多,不敢升级了。
新写的版本,还在不断完善中,可以手动安装试用。
等这个版本完成 ...

請問新版本可以支援 arduino 1.5.x 嗎?
我比較過相同的程式, 用 1.5.x compile 的話, 一般比較省資源, 可惜現在的 stino 好像只支援 1.0.X.
回复 支持 反对

使用道具 举报

发表于 2014-10-30 22:50:37 | 显示全部楼层
本帖最后由 peanut 于 2014-10-30 23:15 编辑
Super169 发表于 2014-10-30 22:27
請問新版本可以支援 arduino 1.5.x 嗎?
我比較過相同的程式, 用 1.5.x compile 的話, 一般比較省資源, 可 ...


目前测试过的Arduino:1.5.7, 1.5.8, 1.0.5, 1.0.6和Arduino 1.5.3 x86(Intel)。
ST: 2.0.2, 3065。
OS: Win7, Linux。

主要是在Win7和ST3065下写的,还在完善中。
没有MAC,以后要找一台MAC测试。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-10-31 01:05:13 | 显示全部楼层
本帖最后由 Super169 于 2014-10-31 01:09 编辑
peanut 发表于 2014-10-30 22:50
目前测试过的Arduino:1.5.7, 1.5.8, 1.0.5, 1.0.6和Arduino 1.5.3 x86(Intel)。
ST: 2.0.2, 3065。
...


非常好!  支持!
我現在使用的只支援 1.0.x, 已下載了最新的版本, 是否把檔案直接蓋過就可以?
回复 支持 反对

使用道具 举报

发表于 2014-10-31 01:53:45 | 显示全部楼层
奇怪的 bug....幾乎把我折磨死了.
剛升安裝了新的 stino, 就好了設定, 就嘗試用 1.5.8 compile 一個程式....失敗.
當試轉回 1.0.6, 同樣失敗.
改回之前的 stino, 用 1.0.6....正常.

而出現的 error 非常怪, 是 undefined reference to <一個自己設定的 function>, 當然, 這個 function 是存在的, 不然用回舊版也不行.

多番嘗試, 把程式不斷刪減, 終於找出問題了, 在新版中, #if 之下的 #define 不可以縮進去.

超簡單程式如下:

  1. #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  2.   #define MEMORY_MAX 8192
  3. #else
  4.   #define MEMORY_MAX 2048
  5. #endif


  6. void setup() {
  7.   // put your setup code here, to run once:
  8. }

  9. void loop() {
  10.   // put your main code here, to run repeatedly:
  11. }
复制代码


將會出現以下 error:
[Stino - Start building "BareMinimum"...]
Creating C:\Users\James\Documents\Arduino_build\BareMinimum\BareMinimum.ino.cpp.o...
Creating BareMinimum.elf...
C:/Users/James/Documents/Arduino_build/BareMinimum/core.a(main.cpp.o): In function `main':

E:/Arduino/IDE/arduino-1.0.6/hardware/arduino/cores/arduino/main.cpp:40: undefined reference to `setup'

E:/Arduino/IDE/arduino-1.0.6/hardware/arduino/cores/arduino/main.cpp:43: undefined reference to `loop'


[Stino - Exit with error code 1]


但只要把第 2 行的 #define 前的空白刪走, 就不會有問題了.
而第 4 行同樣是 #define 句子, 前面的空白不會有問題.

希望大大可以嘗試 fix 這個問題吧.
回复 支持 反对

使用道具 举报

发表于 2014-10-31 07:38:41 | 显示全部楼层
本帖最后由 peanut 于 2014-10-31 07:51 编辑
Super169 发表于 2014-10-31 01:53
奇怪的 bug....幾乎把我折磨死了.
剛升安裝了新的 stino, 就好了設定, 就嘗試用 1.5.8 compile 一個程式.. ...


你是什么系统?什么板子?ST的版本?
你尝试一下Arduino -> 编译选项 -> 完全编译,可能core.a的处理还有问题,这个我要再找找问题。

我重复不出来这个问题, ST2.0.2(x64)和ST3065(x64)都没问题。我需要重复出来以便修改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-10-31 11:59:32 | 显示全部楼层
peanut 发表于 2014-10-31 07:38
你是什么系统?什么板子?ST的版本?
你尝试一下Arduino -> 编译选项 -> 完全编译,可能core.a的处理还 ...


我是在這裡直接下載的 new-stino, 不知是什麼版本(2.0.2?):
https://github.com/Robot-Will/Stino/tree/new-stino

我只是 compile, 用什麼 arduino 板子沒分別, 當時選了 UNO.
系統是 Windows 8.1 x64 + Sublime Text 3.0 應該沒影響吧.

同樣的 sketch, 用 arduino IDE 是沒問題的.

或者我今晚回去, 把 Sublime Text 重裝一次看看.
回复 支持 反对

使用道具 举报

发表于 2014-10-31 12:14:47 | 显示全部楼层
peanut 发表于 2014-10-31 07:38
你是什么系统?什么板子?ST的版本?
你尝试一下Arduino -> 编译选项 -> 完全编译,可能core.a的处理还 ...

剛找來一台 Win7 x64 來測試, 更是有趣.

第一次 compile 時, 出現相同的問題.


什麼也不做, 再按一次 compile, 就沒問題了.


程式是完全一樣的, 就只是直接再按一次, 有點莫名其妙.  好像是第一次找不到 reference, 而第二次是用了第一次 built 出來的 reference.

如果改動一下程式 (只是在最後空白地方加一個 space, 令系統知道程式有變), 第一次又是 error, 再按就沒事了.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-10-31 12:21:08 | 显示全部楼层
補充, cywin 的 warning 在第二次執行時同樣有出現的, 只是在 compile 時自動把 output windows 縮小了.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-10-31 12:30:12 | 显示全部楼层
再補充, 如果選了 "编译选项 -> 完全编译", 情況更差, 不論再按多少次, 都會出相同的 error.

看來是因為第一次 compile 時, 找不到程式自身的 reference, 而第二次 compile 時, 就利用了之前的 reference table.  為了證明一次, 我修改了一下:

  1. #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  2.   #define MEMORY_MAX 8192
  3. #else
  4.   #define MEMORY_MAX 2048
  5. #endif


  6. void setup() {
  7.   // put your setup code here, to run once:
  8.   abc();
  9. }

  10. void loop() {
  11.   // put your main code here, to run repeatedly:
  12. }

  13. void abc() {
  14. }
复制代码


這個程式, 按多少次也出 error, 只要移走 第二行 #define 前的空白就沒問題.

如果把 abc 的定義移到 setup 之上, 按第一次有 error, 第二次就沒問題了.
回复 支持 反对

使用道具 举报

发表于 2014-10-31 17:28:36 | 显示全部楼层
本帖最后由 peanut 于 2014-10-31 17:30 编辑
Super169 发表于 2014-10-31 12:30
再補充, 如果選了 "编译选项 -> 完全编译", 情況更差, 不論再按多少次, 都會出相同的 error.

看來是因為 ...


问题找到了,很隐蔽的错误。在Python正则表达式出的问题,不是你这个例子,还真难发现这个问题。
你重新下载并覆盖,看看编译结果。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 18:11 , Processed in 0.041260 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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