Arduinoライブラリのソースファイルを取得するにはどうすればよいですか?

コアライブラリを見つけるためにArduinoのファイル内をしばらく探していました。ただし、まだ見つかりません。ハードドライブのどこで、すべてのArduinoコードに必要なコアライブラリファイル(.cppおよび.h)を入手できますか?

Googleを見て回ったところ、上記のファイルを見つける方法が見つかりませんでした。 Arduinoのコンパイル中に.aファイルを取得することについて何かを見ましたが、それは私が望んでいることではありません。コードを参照し、delayなどの関数を調べて、予期しない値が与えられたときにどのように反応するかを確認したいと思います。 。(つまり、delay(-200);を使用すると、ループを終了しないためにコードが停止しますか、それともブラックホールが作成され、時空間の連続性が損なわれますか?)

コメント

  • 質問に興味がありましたが、必要なのは strcpy strcat アセンブラのソースコードでマスターライブラリをダウンロードしましたが、strcpyやstrcatに似たものをリモートで見つけることができません。または、木の木材が見えない可能性がありますか?
  • @bobzic別の質問をすることをお勧めします検索するファイルを指定する質問。

回答

ベースのArduinoソースファイルはArduinoのインストールにあります、 cores/arduino/ 。含まれている追加のライブラリのソースは、 libraries/ にあります。

コメント

  • そして' /usr/lib/avr/include/またはLinux以外のシステムで変換されるものを忘れないでください。
  • Windows 10アプリとしてインストールしたので、インストールフォルダーにアクセスできません。
  • この情報は古くなっているようです。 ライブラリフォルダが空になり、ハードウェアが移動しました

回答

IDEがインストールされていない場合は、コードをオンラインで入手することもできます。

https://github.com/arduino/Arduino

コメント

回答

Macの場合、ソースコードフォルダへのパスis:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino。他のOSの/Java/以降も同じだと思います。

ライブラリソースへのパス(Arduino-Mac)

回答

回答

見ることができる場所は複数あります。 IDE 1.6.4(Ubuntuバージョン)と同様に、いくつかは次の場所にあります:

(install location)/libraries 

ただし、これらは特に高レベルのライブラリです:

Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi 

Tone、Print、mainなどの低レベルライブラリは対象外です。これらは次の場所にあります:

(install location)/hardware/arduino/avr/cores/arduino 

Arduinoのコアライブラリは次のようになります。

abi.cpp Arduino.h binary.h CDC.cpp Client.h HardwareSerial0.cpp HardwareSerial1.cpp HardwareSerial2.cpp HardwareSerial3.cpp HardwareSerial.cpp HardwareSerial.h HardwareSerial_private.h HID.cpp hooks.c IPAddress.cpp IPAddress.h main.cpp new.cpp new.h Printable.h Print.cpp Print.h Server.h Stream.cpp Stream.h Tone.cpp Udp.h USBAPI.h USBCore.cpp USBCore.h USBDesc.h WCharacter.h WInterrupts.c wiring_analog.c wiring.c wiring_digital.c wiring_private.h wiring_pulse.c wiring_shift.c WMath.cpp WString.cpp WString.h 

ただし、それでもstrcpyのようなものは見つかりません。それらのヘッダーファイルは次の場所にあります:

(install location)/hardware/tools/avr/avr/include/ 

そこにあります:

alloca.h assert.h ctype.h errno.h inttypes.h math.h setjmp.h stdfix-avrlibc.h stdint.h stdio.h stdlib.h string.h 

それでも完全な話ではありません。サブディレクトリ(avr)には、次のようなさまざまなプロセッサ用のファイルを含むavr関連のものがあります。

boot.h builtins.h common.h cpufunc.h crc16.h delay.h eeprom.h fuse.h interrupt.h io1200.h io2313.h ... iox64d4.h iox8e5.h lock.h parity.h pgmspace.h portpins.h power.h sfr_defs.h signal.h signature.h sleep.h version.h wdt.h xmega.h 

strcpyのソースについては、ディストリビューションにはないと思います。プリコンパイルされた標準ライブラリが含まれています。たとえば、次のように表示されます。

(install location)/hardware/tools/avr/avr/lib 

たとえば、次のようなさまざまなコンパイル済みライブラリが表示されます。

libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a 

ソースを見つけるには、AVRソースの場所を見つける必要があります。 libcは(おそらく http://www.nongnu.org/avr-libc/ )です。


Macの場合、これらはすべて、右クリックして[パッケージの内容を表示]を選択すると表示できる[アプリケーションパッケージ]の数レベル下にあります。Contents/Resources/Javaフォルダを確認してください。


これらの場所のどれも own ライブラリ(作成したものeまたはダウンロード)。sketchbookフォルダーのサブディレクトリであるlibrariesフォルダーに移動する必要があります。 librariesフォルダーが存在しない場合は、作成します。 そうすれば、ユーザーがインストールしたライブラリは、IDEのあるバージョンから次のバージョンまで存続します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です