He estado buscando por un tiempo dentro de los archivos de Arduino para encontrar la biblioteca principal. Sin embargo, todavía no los he encontrado. ¿Dónde puedo obtener los archivos de la biblioteca principal (.cpp y .h) de mi disco duro necesarios para todo el código Arduino?
Buscando en Google, no pude encontrar una manera de encontrar los archivos anteriores. Vi algo sobre cómo obtener un archivo .a mientras Arduino está compilando, sin embargo, eso no es lo que quiero. Quiero navegar por el código y mirar funciones como la demora para ver cómo reaccionarían cuando se les da los valores no esperados . (es decir, ¿se atascará mi código si uso delay(-200);
sin salir del ciclo, o creará un agujero negro e interrumpirá el continuo espacio-tiempo?)
Comentarios
- Estaba interesado en la pregunta, pero lo que quiero es el código fuente para strcpy y strcat en el código fuente del ensamblador. Descargué la biblioteca maestra pero no puedo ubicar nada remotamente similar a strcpy o strcat. O tal vez no puedo ver la madera de los árboles.
- @bobzic Le sugiero que pregunte a otro pregunta especificando qué archivos desea encontrar.
Respuesta
Los archivos fuente de Arduino base están en la instalación de Arduino , bajo cores/arduino/
. Las fuentes de las bibliotecas adicionales incluidas se encuentran en libraries/
.
Comentarios
- Y no ‘ olvide
/usr/lib/avr/include/
o lo que sea que se traduzca en sistemas que no son Linux. - Lástima que lo instalé como aplicación de Windows 10 y no puedo acceder a la carpeta de instalación.
- Esta información parece obsoleta. La carpeta bibliotecas está vacía ahora y el hardware se ha movido
Respuesta
El código también está disponible en línea para aquellas ocasiones en las que no tiene el IDE instalado:
https://github.com/arduino/Arduino
Comentarios
- Puede ‘ t busque los archivos de encabezado allí.
- vea mi respuesta a continuación: arduino.stackexchange.com/a / 68658/59512
Respuesta
En una Mac, la ruta a la carpeta del código fuente es:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino
. Esperaría que fuera igual desde /Java/
hacia abajo en otros sistemas operativos.
Respuesta
Los archivos fuente de arduino se pueden encontrar en Github en https://github.com/arduino/Arduino , h a pesar de que las bibliotecas se hayan movido a sus propios repositorios:
Respuesta
Hay varios lugares donde puede buscar. Como en IDE 1.6.4 (versión de Ubuntu), algunos están en:
(install location)/libraries
Pero estas son las bibliotecas de alto nivel, en particular:
Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi
Eso no cubre las bibliotecas de bajo nivel como Tone, Print, main, etc. Estas están en:
(install location)/hardware/arduino/avr/cores/arduino
Allí encontrará las bibliotecas centrales de Arduino como:
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
Sin embargo, ni siquiera eso localiza cosas como strcpy. Los archivos encabezado para ellos se pueden encontrar en:
(install location)/hardware/tools/avr/avr/include/
Allí encontrará:
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
Incluso esa no es la historia completa. En un subdirectorio (avr) encontrará las cosas relacionadas con avr, con archivos para diferentes procesadores, como (en 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
En cuanto a la fuente de strcpy, no creo que esté en la distribución. Incluyen las bibliotecas estándar, precompiladas. Por ejemplo, si miras en:
(install location)/hardware/tools/avr/avr/lib
Verá varias bibliotecas precompiladas, por ejemplo:
libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a
Para encontrar la fuente, necesitaría encontrar la fuente AVR de libc está (posiblemente en http://www.nongnu.org/avr-libc/ ).
En cuanto a Mac, todo esto se encuentra unos niveles más abajo en el «Paquete de la aplicación» que puede ver haciendo clic derecho y seleccionando «Mostrar contenido del paquete». Busque en la carpeta Contents/Resources/Java
.
Ninguno de estos lugares es donde debe colocar su propias bibliotecas (las que escribe e o descargar).Deben ir a la carpeta libraries
que es un subdirectorio de su carpeta sketchbook
. Cree la carpeta libraries
si no existe. De esa manera, las bibliotecas instaladas por el usuario persisten de una versión del IDE a la siguiente.