Chvíli jsem hledal v souborech Arduina, abych našel základní knihovnu. Dosud jsem je však nenašel. Kde na svém pevném disku mohu získat soubory základní knihovny (.cpp a .h) potřebné pro všechny kódy Arduino?
Když se rozhlédnu po Googlu, nenalezl jsem způsob, jak najít výše uvedené soubory. Během kompilace Arduina jsem viděl něco o získání souboru .a, ale to není to, co chci. Chci procházet kód a podívat se na funkce, jako je zpoždění, abych zjistil, jak budou reagovat, když se dají hodnoty, které se neočekávají . (tj. Zastaví se můj kód, pokud použiji delay(-200);
tím, že nebudu opouštět smyčku, nebo vytvoří černou díru a naruší časoprostorové kontinuum?)
Komentáře
- Otázka mě zajímala, ale co chci, je zdrojový kód pro strcpy a strcat v zdrojovém kódu assembleru. Stáhl jsem si hlavní knihovnu, ale nemohu najít nic vzdáleně podobného strcpy nebo strcat. NEBO možná nevidím dřevo pro stromy?
- @bobzic Doporučuji požádat jiného otázka určující, které soubory chcete najít.
Odpovědět
Základní zdrojové soubory Arduina jsou v instalaci Arduino , pod cores/arduino/
. Zdroj dalších zahrnutých knihoven je v libraries/
.
Komentáře
- A nezapomeňte ' nezapomenout
/usr/lib/avr/include/
nebo cokoli, co se překládá v systémech jiných než Linux. - Škoda, nainstaloval jsem ji jako aplikaci Windows 10 a nemám přístup k instalační složce.
- Tyto informace se zdají být zastaralé. Složka knihoven je nyní prázdná a hardware byl přesunut
Odpověď
Kód je k dispozici také online pro případy, kdy nemáte nainstalované IDE:
https://github.com/arduino/Arduino
Komentáře
- Může ' nenajdete tam hlavičkové soubory.
- viz moje odpověď níže: arduino.stackexchange.com/a / 68658/59512
Odpověď
Na počítačích Mac cesta ke složce zdrojového kódu je:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino
. Očekávám, že to bude stejné od /Java/
dolů v jiných operačních systémech.
Odpověď
Zdrojové soubory arduino najdete na Githubu na https://github.com/arduino/Arduino , h ale knihovny byly přesunuty do vlastních úložišť:
Odpověď
Existuje několik míst, kam se můžete podívat. Stejně jako na IDE 1.6.4 (verze Ubuntu) jsou některé v:
(install location)/libraries
Jedná se zejména o knihovny na vysoké úrovni:
Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi
To se nevztahuje na nízkoúrovňové knihovny, jako jsou Tone, Print, main atd. Jsou v:
(install location)/hardware/arduino/avr/cores/arduino
Zde najdete základní knihovny Arduino, jako jsou:
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
Ani to však nenalezne věci jako strcpy. Soubory pro ně naleznete na:
(install location)/hardware/tools/avr/avr/include/
Zde najdete:
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
Ani to není celý příběh. V podadresáři (avr) najdete věci související s avr se soubory pro různé procesory, například (částečně):
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
Pokud jde o zdroj strcpy, nemyslím si, že je v distribuci. Zahrnují standardní knihovny předkompilované. Například pokud se podíváte do:
(install location)/hardware/tools/avr/avr/lib
Uvidíte různé předkompilované knihovny, například:
libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a
Chcete-li najít zdroj, musíte najít zdroj AVR libc je (pravděpodobně na http://www.nongnu.org/avr-libc/ ).
Pokud jde o Mac, vše toto je o několik úrovní níže v „Aplikačním balíčku“, který můžete zobrazit kliknutím pravým tlačítkem a výběrem „Zobrazit obsah balíčku“. Podívejte se do složky Contents/Resources/Java
.
Žádné z těchto míst byste neměli dávat své vlastní knihovny (ty, které píšete e nebo ke stažení).Měli by jít do libraries
složky, která je podadresářem vaší sketchbook
složky. Pokud neexistuje, vytvořte složku libraries
. Takto knihovny nainstalované uživatelem přetrvávají z jedné verze IDE na další.