Làm thế nào tôi có thể nhận được các tập tin nguồn cho các thư viện Arduino?


14

Tôi đã tìm kiếm một lúc trong các tập tin của Arduino để tìm thư viện lõi. Tuy nhiên, tôi chưa tìm thấy chúng. Ở đâu trên ổ cứng của tôi, tôi có thể lấy các tệp thư viện lõi (.cpp và .h) cần thiết cho tất cả mã Arduino?

Nhìn quanh Google, tôi không thể tìm thấy các tập tin trên. Tôi đã thấy một cái gì đó về việc nhận một tệp .a trong khi Arduino đang biên dịch, tuy nhiên, đó không phải là điều tôi muốn. Tôi muốn duyệt mã và xem xét các chức năng như độ trễ để xem chúng sẽ phản ứng như thế nào khi đưa ra các giá trị không như mong đợi. (tức là mã của tôi sẽ bị đình trệ nếu tôi sử dụng delay(-200);bằng cách không thoát khỏi vòng lặp, hoặc nó sẽ tạo ra một lỗ đen và phá vỡ sự liên tục trong không gian thời gian?)


Tôi đã quan tâm đến câu hỏi, nhưng điều tôi muốn là mã nguồn cho strcpystrcat trong mã nguồn của trình biên dịch chương trình. Tôi đã tải xuống Thư viện chủ nhưng tôi không thể tìm thấy bất cứ thứ gì từ xa tương tự như strcpy hoặc strcat. HOẶC Có lẽ tôi không thể nhìn thấy gỗ cho cây?
bobzic

@bobzic Tôi đề nghị bạn nên hỏi một câu hỏi khác chỉ định tập tin nào bạn muốn tìm.
Chim cánh cụt vô danh

Câu trả lời:


9

Các tập tin nguồn Arduino cơ bản là trong cài đặt Arduino, dưới hardware/*/cores/. Nguồn cho các thư viện bổ sung được bao gồm trong libraries/. Các tập tin bổ sung có thể được tìm thấy trong quyển phác thảo dưới thư mục hardware/*/cores/libraries/thư mục của nó .


Và đừng quên /usr/lib/avr/include/hoặc bất cứ điều gì có nghĩa là trên các hệ thống không phải là Linux.
Jippie

Quá tệ, tôi đã cài đặt nó dưới dạng ứng dụng Windows 10 và không thể truy cập thư mục cài đặt.
Tomáš Zato - Phục hồi Monica


8

Trên máy Mac, đường dẫn đến thư mục mã nguồn là :
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino. Tôi hy vọng nó sẽ giống nhau từ /Java/trên xuống trong các hệ điều hành khác.

Đường dẫn đến nguồn thư viện (Arduino-Mac)



2

Có nhiều nơi bạn có thể nhìn. Như tại IDE 1.6.4 (phiên bản Ubuntu), một số nằm trong:

(install location)/libraries

Nhưng đây là những thư viện cấp cao, đặc biệt:

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

Điều đó không bao gồm các thư viện cấp thấp như Tone, Print, main, v.v. Đây là trong:

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

Ở đó bạn sẽ tìm thấy các thư viện lõi Arduino như:

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

Tuy nhiên, ngay cả điều đó không định vị những thứ như strcpy. Các tập tin tiêu đề cho chúng có thể được tìm thấy tại:

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

Ở đó bạn sẽ tìm thấy:

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

Thậm chí đó không phải là câu chuyện đầy đủ. Trong thư mục con (avr), bạn sẽ tìm thấy những thứ liên quan đến avr, với các tệp cho các bộ xử lý khác nhau, chẳng hạn như (một phần):

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

Đối với nguồn strcpy, tôi không nghĩ nó nằm trong bản phân phối. Chúng bao gồm các thư viện tiêu chuẩn, được biên soạn trước. Ví dụ: nếu bạn nhìn vào:

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

Bạn sẽ thấy các thư viện được biên dịch trước, ví dụ:

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

Để tìm nguồn, bạn sẽ cần tìm nguồn libc của AVR ở đâu (có thể tại http://www.nongnu.org/avr-libc/ ).


Đối với Mac, tất cả nội dung này đều giảm một vài cấp trong "Gói ứng dụng" mà bạn có thể xem bằng cách nhấp chuột phải và chọn "Hiển thị nội dung gói". Tìm trong Contents/Resources/Javathư mục.


Không có nơi nào trong số này là nơi bạn nên đặt thư viện của riêng mình (những nơi bạn viết hoặc tải xuống). Họ nên đi vào librariesthư mục là thư mục con của thư mục của bạn sketchbook. Tạo librariesthư mục nếu nó không tồn tại. Bằng cách đó, các thư viện do người dùng cài đặt vẫn tồn tại từ một phiên bản IDE sang phiên bản tiếp theo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.