Olen etsinyt jonkin aikaa Arduinon tiedostoista löytääksesi ydinkirjaston. En kuitenkaan ole vielä löytänyt niitä. Mistä kiintolevyltä voin hankkia kaiken Arduino-koodin kannalta välttämättömät kirjastotiedostot (.cpp ja .h)?
Katsellessani Googlessa en löytänyt tapaa löytää yllä olevia tiedostoja. Näin jotain .a-tiedoston saamisesta Arduinon käännösten aikana, mutta se ei ole mitä haluan. Haluan selata koodia ja tarkastella toimintoja, kuten viive, nähdäksesi, miten ne reagoisivat, kun annetaan arvot, joita ei odoteta . (Eikö koodini lakkaa toimimasta, jos käytän delay(-200);
-toimintoa olematta poistumatta silmukasta, tai luo se mustan aukon ja häiritsee aika-aikajaksoa?)
Kommentit
- Minua kiinnosti kysymys, mutta haluan lähdekoodin strcpy ja strcat assemblerin lähdekoodissa. Latasin pääkirjaston, mutta en löydä mitään etäyhteydeltään strcpy: tä tai strcatia. TAI ehkä en näe puiden puuta?
- @bobzic Ehdotan, että kysyt toiselta kysymys, joka määrittää, mitkä tiedostot haluat löytää.
Vastaa
Arduinon lähdetiedostot ovat Arduino-asennuksessa , kohdassa cores/arduino/
. Lisäkirjastojen lähde on kohdassa libraries/
.
kommentit
- Ja älä ' älä unohda
/usr/lib/avr/include/
tai mitä se tarkoittaa muissa kuin Linux-järjestelmissä. - Harmi, että asensin sen Windows 10 -sovelluksena, enkä voi käyttää asennuskansiota.
- Nämä tiedot näyttävät olevan vanhentuneita. kirjastot -kansio on nyt tyhjä ja -laitteisto on siirtynyt
vastaus
Koodi on saatavana myös verkossa, kun IDE: tä ei ole asennettu:
https://github.com/arduino/Arduino
Kommentit
- voi ' ei löydä otsikkotiedostoja sieltä.
- katso vastaukseni alla: arduino.stackexchange.com/a / 68658/59512
Vastaa
Macissa polku lähdekoodikansioon on:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino
. Luulen, että se olisi sama /Java/
-kohdasta alaspäin muissa käyttöjärjestelmissä.
Vastaa
Arduino-lähdetiedostot löytyvät Githubista osoitteesta https://github.com/arduino/Arduino , h kirjastot on kuitenkin siirretty omiin arkistoihinsa:
Vastaa
Voit etsiä useita paikkoja. Kuten IDE 1.6.4: ssä (Ubuntu-versio), jotkut ovat:
(install location)/libraries
Mutta nämä ovat erityisesti korkean tason kirjastoja:
Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi
Se ei kata matalan tason kirjastoja, kuten Tone, Print, main jne. Nämä ovat:
(install location)/hardware/arduino/avr/cores/arduino
Sieltä löydät Arduino-ydinkirjastot, kuten:
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
Vaikka tämäkaan ei löydä asioita, kuten strcpy. Heille -otsikon tiedostot löytyvät osoitteesta:
(install location)/hardware/tools/avr/avr/include/
Sieltä löydät:
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
Se ei ole vielä koko tarina. Alihakemistosta (avr) löydät avr-tiedostot, joissa on tiedostoja eri prosessoreille, kuten (osittain):
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
Mitä strcpy-lähteeseen tulee, en usko, että se on jakelussa. Ne sisältävät vakiokirjastot, valmiiksi kootut. Jos esimerkiksi tarkastellaan:
(install location)/hardware/tools/avr/avr/lib
Näet useita valmiiksi koottuja kirjastoja, esimerkiksi:
libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a
Lähteen löytämiseksi sinun on löydettävä mistä AVR-lähde libc on (mahdollisesti kohdassa http://www.nongnu.org/avr-libc/ ).
Mitä tulee Maciin, kaikki nämä asiat ovat muutama taso alaspäin ”Sovelluspaketissa”, jota voit tarkastella napsauttamalla hiiren kakkospainikkeella ja valitsemalla ”Näytä paketin sisältö”. Etsi kansiosta Contents/Resources/Java
.
Ei mitään näistä paikoista sinun tulisi sijoittaa omat kirjastot (kirjoittamasi e tai lataa).Heidän pitäisi mennä libraries
-kansioon, joka on sketchbook
-kansion alihakemisto. Luo libraries
-kansio, jos sitä ei ole. Näin käyttäjän asentamat kirjastot jatkuvat IDE: n versiosta toiseen.