Od jakiegoś czasu szukałem w plikach Arduino, aby znaleźć podstawową bibliotekę. Jednak jeszcze ich nie znalazłem. Gdzie na moim dysku twardym mogę uzyskać podstawowe pliki biblioteki (.cpp i .h) niezbędne dla całego kodu Arduino?
Rozglądając się w Google, nie mogłem znaleźć sposobu na znalezienie powyższych plików. Widziałem coś o pobieraniu pliku .a podczas kompilacji Arduino, jednak to nie jest to, czego chcę. Chcę przejrzeć kod i spojrzeć na funkcje, takie jak opóźnienie, aby zobaczyć, jak zareagują, gdy podane wartości nie są oczekiwane . (tj. czy mój kod zatrzyma się, jeśli użyję delay(-200);
, nie wychodząc z pętli, czy też utworzy czarną dziurę i zakłóci kontinuum czasoprzestrzeni?)
Komentarze
- Interesowało mnie to pytanie, ale potrzebuję kodu źródłowego dla strcpy i strcat w kodzie źródłowym asemblera. Pobrałem bibliotekę główną, ale nie mogę zlokalizować niczego zdalnie podobnego do strcpy lub strcat. LUB Może nie widzę drewna dla drzew?
- @bobzic Sugeruję, abyś zapytał innego pytanie określające, które pliki chcesz znaleźć.
Odpowiedź
Podstawowe pliki źródłowe Arduino znajdują się w instalacji Arduino , pod cores/arduino/
. Źródła dodatkowych bibliotek znajdują się w libraries/
.
Komentarze
- I nie ' nie zapomnij o
/usr/lib/avr/include/
ani o czymkolwiek, co przekłada się na systemy inne niż Linux. - Szkoda, że zainstalowałem go jako aplikację Windows 10 i nie mogę uzyskać dostępu do folderu instalacyjnego.
- Te informacje wydają się nieaktualne. Folder bibliotek jest teraz pusty i sprzęt został przeniesiony
Odpowiedź
Kod jest również dostępny online w przypadku, gdy nie masz zainstalowanego IDE:
https://github.com/arduino/Arduino
Komentarze
- Może ' t znajdź tam pliki nagłówkowe.
- zobacz moją odpowiedź poniżej: arduino.stackexchange.com/a / 68658/59512
Answer
Na komputerze Mac ścieżka do folderu kodu źródłowego to:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino
. Spodziewałbym się, że będzie tak samo od /Java/
w innych systemach operacyjnych.
Odpowiedź
Pliki źródłowe arduino można znaleźć na Github pod adresem https://github.com/arduino/Arduino , h aczkolwiek biblioteki zostały przeniesione do ich własnych repozytoriów:
Odpowiedź
Jest wiele miejsc, w których możesz szukać. Podobnie jak w IDE 1.6.4 (wersja Ubuntu), niektóre znajdują się w:
(install location)/libraries
Ale są to w szczególności biblioteki wysokiego poziomu:
Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi
To nie obejmuje bibliotek niskiego poziomu, takich jak Tone, Print, main itp. Znajdują się one w:
(install location)/hardware/arduino/avr/cores/arduino
Tam można znaleźć podstawowe biblioteki Arduino, takie jak:
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
Jednak nawet to nie lokalizuje rzeczy takich jak strcpy. Pliki nagłówkowe można znaleźć pod adresem:
(install location)/hardware/tools/avr/avr/include/
Tam znajdziesz:
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
Nawet to nie jest cała historia. W podkatalogu (avr) znajdziesz rzeczy związane z avr, z plikami dla różnych procesorów, na przykład (częściowo):
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
Jeśli chodzi o źródło strcpy, nie sądzę, aby znajdowało się ono w dystrybucji. Obejmują one standardowe biblioteki, wstępnie skompilowane. Na przykład, jeśli spojrzysz na:
(install location)/hardware/tools/avr/avr/lib
Zobaczysz różne wstępnie skompilowane biblioteki, na przykład:
libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a
Aby znaleźć źródło, musisz znaleźć źródło AVR libc jest (prawdopodobnie pod adresem http://www.nongnu.org/avr-libc/ ).
Jeśli chodzi o komputery Mac, wszystko to znajduje się kilka poziomów niżej w „Pakiecie aplikacji”, który można wyświetlić, klikając prawym przyciskiem myszy i wybierając opcję „Pokaż zawartość pakietu”. Zajrzyj do folderu Contents/Resources/Java
.
Brak z tych miejsc, w których należy umieścić własne biblioteki (te, które piszesz e lub pobierz).Powinny trafić do folderu libraries
, który jest podkatalogiem Twojego folderu sketchbook
. Utwórz folder libraries
, jeśli nie istnieje. W ten sposób biblioteki instalowane przez użytkownika zachowują się z jednej wersji IDE do następnej.