Come posso ottenere i file sorgente per le librerie Arduino?

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

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.

Percorso alle sorgenti della libreria (Arduino-Mac)

Risposta

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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *