Hoe kan ik de bronbestanden voor Arduino-bibliotheken krijgen?

Ik “zoek al een tijdje in de Arduino-bestanden” om de kernbibliotheek te vinden. Ik heb ze echter “nog niet gevonden. Waar op mijn harde schijf kan ik de kernbibliotheekbestanden (.cpp en .h) verkrijgen die nodig zijn voor alle Arduino-code?

Toen ik op Google rondkeek, kon ik geen manier vinden om de bovenstaande bestanden te vinden. Ik heb wel iets gezien over het krijgen van een .a-bestand terwijl Arduino aan het compileren is, maar dat is niet wat ik wil. Ik wil door de code bladeren en kijken naar functies zoals vertraging om te zien hoe ze zouden reageren als ze de waarden kregen die niet verwacht werden . (dwz Zal mijn code vastlopen als ik delay(-200); gebruik door de lus niet te verlaten, of zal het een zwart gat creëren en het ruimte-tijd continuüm verstoren?)

Reacties

  • Ik was geïnteresseerd in de vraag, maar wat ik wil is de broncode voor strcpy en strcat in de broncode van de assembler. Ik heb de Master Library gedownload, maar ik kan niets op afstand vinden dat lijkt op strcpy of strcat. OF Misschien zie ik door de bomen het bos niet meer?
  • @bobzic Ik raad je aan een ander te vragen vraag die aangeeft welke bestanden je wilt vinden.

Answer

De basis Arduino-bronbestanden bevinden zich in de Arduino-installatie , onder cores/arduino/ . De bron voor aanvullende bibliotheken is te vinden in libraries/ .

Reacties

  • En ' en /usr/lib/avr/include/ of wat dat ook vertaalt naar niet-Linux-systemen.
  • Jammer dat ik het als Windows 10-app heb geïnstalleerd en geen toegang heb tot de installatiemap.
  • Deze informatie lijkt verouderd. De map bibliotheken is nu leeg en hardware is verplaatst

Answer

De code is ook online beschikbaar voor die keren dat je de IDE niet hebt geïnstalleerd:

https://github.com/arduino/Arduino

Reacties

Antwoord

Op een Mac, het pad naar de broncodemap is:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino. Ik “zou verwachten dat het hetzelfde zou zijn vanaf /Java/ op down in andere besturingssystemen.

Pad naar bibliotheekbronnen (Arduino-Mac)

Antwoord

Answer

Er zijn meerdere plaatsen waar u kunt kijken. Net als bij IDE 1.6.4 (Ubuntu-versie) zijn er enkele in:

(install location)/libraries 

Maar dit zijn de bibliotheken op hoog niveau, in het bijzonder:

Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi 

Dat omvat niet de low-level bibliotheken zoals Tone, Print, main, etc. Deze bevinden zich in:

(install location)/hardware/arduino/avr/cores/arduino 

Daar zou je de Arduino kernbibliotheken vinden zoals:

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 

Maar zelfs dat lokaliseert geen zaken als strcpy. De header bestanden voor hen zijn te vinden op:

(install location)/hardware/tools/avr/avr/include/ 

Daar vind je:

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 

Zelfs dat is niet het volledige verhaal. In een submap (avr) vind je de avr-gerelateerde zaken, met bestanden voor verschillende processors, zoals (gedeeltelijk):

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 

Wat betreft de bron van strcpy, ik denk niet dat het in de distributie zit. Ze bevatten de standaardbibliotheken, vooraf gecompileerd. Als je bijvoorbeeld kijkt in:

(install location)/hardware/tools/avr/avr/lib 

U zult verschillende voorgecompileerde bibliotheken zien, bijvoorbeeld:

libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a 

Om de bron te vinden, moet u zoeken waar de AVR-bron van libc is (mogelijk op http://www.nongnu.org/avr-libc/ ).


Wat betreft de Mac, al deze dingen bevinden zich een paar niveaus lager in het “Application Package” dat u kunt bekijken door met de rechtermuisknop te klikken en “Show Package Contents” te selecteren. Kijk in de map Contents/Resources/Java.


Geen van deze plaatsen is waar u uw eigen bibliotheken (degene die je schrijft e of download).Ze moeten naar de map libraries gaan, wat een submap is van uw map sketchbook. Maak de map libraries als deze nog niet bestaat. Op die manier blijven door de gebruiker geïnstalleerde bibliotheken behouden van de ene versie van de IDE naar de volgende.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *