如果你想研讀 Arduino 的 source code,必須先取得一份 Arduino source code ,其實東西就近在眼前,它就放在你下載的 Arduino IDE 中,路徑是 (註: 00xx 是 Arduino IDE 版本號碼):
arduino-00xx\hardware\arduino\cores\arduino
有了 source code 後,如果還可以有一張 API 與檔案對照表,那就更方便了,因此這篇條列了 Arduino 的 API 佐以 API 所在的檔案資訊,比如 digitalRead() 和 digtalWrite() 這兩個函式位於 wiring_digital.c,希望這有助於你得以更方便地研讀 Arduino 的 source code。
本文的檔案鏈結直到連到 Arduino 在 GitHub 上面的 source code:
https://github.com/arduino/Arduino
- HIGH | LOW
- INPUT | OUTPUT
- true | false
- LSBFIRST | MSBFIRST
- CHANGE | FALLING | RISING
- DEFAULT | EXTERNAL
函式名稱 | 語法 |
main() | main() |
init() | init() |
User Application/Sketch callbacks
底下兩個 callbacks 由使用者提供,main() 會主動呼叫這兩個 callbacks。
函式名稱 | 語法 |
setup() | setup() |
loop() | loop() |
函式名稱 | 語法 |
tone() | tone(pin, frequency [, duration]) |
noTone() | noTone(pin) |
shiftOut() | shiftOut(dataPin, clockPin, bitOrder, value) |
shiftIn() | shiftIn(dataPin, clockPin, bitOrder) |
pulseIn() | pulseIn(pin, value [, timeout]) |
函式名稱 | 語法 |
min() | min(x, y) |
max() | max(x, y) |
abs() | abs(x) |
constrain() | constrain(x, a, b) |
map() | map(value, fromLow, fromHigh, toLow, toHigh) |
pow() | pow(base, exponent) |
sqrt() | sqrt(x) |
Trigonometry (avr-libc)
函式名稱 | 語法 |
sin() | sin(rad) |
cos() | cos(rad) |
tan() | tan(rad) |
Bits and Bytes (wiring.c)
函式名稱 | 語法 |
Serial.being() | Serial.begin(speed) |
Serial.end() | Serial.end() |
Serial.available() | Serial.available() |
Serial.read() | Serial.read() |
Serial.peak() | Serial.peek() |
Serial.flush() | Serial.flush() |
Serial.print() | Serial.print(val, format) |
Serial.println() | Serial.println(val, format) |
Serial.write() | Serial.write(buf, len) |
參考資料
0 意見:
張貼留言