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


14

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

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


私はこの質問に興味がありましたが、アセンブラーのソースコードのstrcpystrcatのソースコードが欲しいのです。マスターライブラリをダウンロードしましたが、strcpyまたはstrcatに似たものをリモートで見つけることができません。OR木のために木が見えないのでしょうか?
bobzic 14

@bobzic検索するファイルを指定する別の質問をすることをお勧めします。
匿名のペンギン14

回答:


9

基本Arduinoソースファイルは、Arduinoインストールのの下にありhardware/*/cores/ます。追加のライブラリのソースはにありlibraries/ます。追加のファイルは、スケッチブックのhardware/*/cores/およびlibraries/ディレクトリの下にあります。


そして、/usr/lib/avr/include/Linux以外のシステムで変換されることを忘れないでください。
ジッピー14年

Windows 10アプリとしてインストールしたため、インストールフォルダーにアクセスできません。
トマーシュザト-復活モニカ


8

Macでは、ソースコードフォルダーへのパスは次のとおり
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduinoです。/Java/他のOS でも同じことが起こると思います。

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



2

あなたが見ることができる複数の場所があります。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

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


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


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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.