2012-01-12 89 views
6

我已經試圖通過將Arduino庫編譯到他們自己的獨立庫中並鏈接到Eclipse中的項目,但一直有一些問題。純粹的Arduino C

有沒有一個體面的指導如何讓這個啓動和運行?我一直在努力找到一個實際上可行的在線... arduino.cc指南有一些缺陷,並排除故障讓我瘋了。

我在Mac上  OS   X 10.5帶有Uno板。

編輯:值得注意的是,大多數Arduino C指南不指定必要的波特率,只是MCLK頻率(16   MHz)。確保你已經改變了這個或AVRDude不會理解如何刷你的IC。

回答

0

Arduino無法在純C設置下工作,因爲它需要C++編譯器。但是,如果你想在你的項目中包含arduino核心和其他庫,然後閱讀。在這裏,我們可以看到如何在代碼中使用Arduino以太網庫。

一步一步的指導

  1. 獲取Arduino的核心和變種/文件。
  2. 獲取相關庫,例如Arduino的以太網庫
  3. 目錄結構

    • /
      • 的lib/Arduino的/芯
      • 的lib/Arduino的/變種// pins_arduino.h
      • 的lib/Arduino的/ Makefile中
      • lib/arduino/build
      • lib/
  4. 樣品make文件可以從以下網址下載: https://gist.github.com/rjha/b7cda6312552c3e15486

  5. 首先創建Arduino的核心作爲靜態庫。要做到這一點:

    • $ cd到的lib/Arduino的文件夾
    • $使清潔
    • $做出的lib
  6. 這將創建的lib/Arduino的/建設/ libarduino.a靜態庫文件。

  7. 接下來我們到了主要項目Makefile。在那裏我們可以定義任何Arduino庫,例如。作爲Arduino SPI或Arduino以太網作爲針對Arduino核心庫編譯的目標。

  8. 在我們自己制定的目標中,我們可以包括Arduino Target,它們又包含Arduino核心。

對於(7)和(8)例如,參照該要旨

https://gist.github.com/rjha/e7b123d3dc4346b5830c

(9)使用-larduino並保持libarduino.a創建十六進制和一般鏈接,鏈接時搜索PATH。例如,參見Gist以上的例子。

(10)使用此結構,您可以在自己的代碼中使用任何Arduino庫。

大部分Arduino庫都是明智的混亂依賴關係,代碼質量也很差。唯一的好處是你可以得到一些現成的庫來鏈接你的代碼。