Ho “cercato un po di tempo nei file di Arduino per trovare la libreria principale. Tuttavia, non li ho ancora trovati. Dove sul mio disco rigido posso ottenere i file della libreria principale (.cpp e .h) necessari per tutto il codice Arduino?
Guardandomi intorno su Google, non sono riuscito a trovare un modo per trovare i file sopra. Ho visto qualcosa sullottenere un file .a durante la compilazione di Arduino, tuttavia, non è quello che voglio. Voglio sfogliare il codice e guardare funzioni come il ritardo per vedere come reagirebbero se dati i valori non previsti (es. il mio codice si bloccherà se utilizzo delay(-200);
non uscendo dal ciclo, o creerà un buco nero e interromperà il continuum spazio-temporale?)
Commenti
- Mi interessava la domanda, ma quello che voglio è il codice sorgente di strcpy e strcat nel codice sorgente dellassembler. Ho scaricato la Master Library ma non riesco a individuare nulla di simile a strcpy o strcat. O forse non riesco a vedere il legno per gli alberi?
- @bobzic ti suggerisco di chiedere a un altro domanda che specifica quali file si desidera trovare.
Risposta
I file sorgente di Arduino di base si trovano nellinstallazione di Arduino , in cores/arduino/
. Le fonti per le librerie aggiuntive incluse sono in libraries/
.
Commenti
- E non ' t dimenticare
/usr/lib/avr/include/
o qualsiasi altra cosa si traduca in sistemi non Linux. - Peccato di averlo installato come app di Windows 10 e non riesco ad accedere alla cartella di installazione.
- Queste informazioni sembrano obsolete. La cartella libraries è vuota ora e hardware è stato spostato
Risposta
Il codice è disponibile anche online per quelle volte in cui non hai installato lIDE:
https://github.com/arduino/Arduino
Commenti
- Può ' t trovare i file di intestazione lì.
- vedi la mia risposta di seguito: arduino.stackexchange.com/a / 68658/59512
Risposta
Su un Mac, il percorso della cartella del codice sorgente è:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino
. Mi aspettavo che sarebbe stato lo stesso da /Java/
in giù in altri sistemi operativi.
Risposta
I file sorgente di Arduino sono disponibili su Github allindirizzo https://github.com/arduino/Arduino , h Tuttavia le librerie sono state spostate nei rispettivi repository:
Risposta
Ci sono più posti dove puoi guardare. Come in IDE 1.6.4 (versione Ubuntu) alcuni sono in:
(install location)/libraries
Ma queste sono le librerie di alto livello, in particolare:
Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi
Questo non copre le librerie di basso livello come Tone, Print, main, ecc. Queste sono in:
(install location)/hardware/arduino/avr/cores/arduino
Lì troverai le librerie principali di Arduino come:
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
Tuttavia, anche questo non trova cose come strcpy. I file header sono disponibili allindirizzo:
(install location)/hardware/tools/avr/avr/include/
Lì troverai:
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
Anche questa non è la storia completa. In una sottodirectory (avr) troverai le cose relative ad avr, con file per diversi processori, come (in parte):
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
Per quanto riguarda il sorgente di strcpy, non credo che sia nella distribuzione. Includono le librerie standard, precompilate. Ad esempio, se guardi in:
(install location)/hardware/tools/avr/avr/lib
Vedrai varie librerie precompilate, ad esempio:
libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a
Per trovare la fonte dovresti trovare dove la fonte AVR di libc è (possibilmente in http://www.nongnu.org/avr-libc/ ).
Per quanto riguarda il Mac, tutto questo si trova alcuni livelli più in basso nel “Pacchetto applicazione” che puoi visualizzare facendo clic con il pulsante destro del mouse e selezionando “Mostra contenuto pacchetto”. Cerca nella cartella Contents/Resources/Java
.
Nessuno di questi posti è dove dovresti mettere il tuo possiede le librerie (quelle che hai scritto eo download).Dovrebbero andare nella cartella libraries
che è una sottodirectory della tua cartella sketchbook
. Crea la cartella libraries
se non esiste. In questo modo le librerie installate dallutente persistono da una versione dellIDE a quella successiva.