2011年6月1日 星期三

Arduino API List

如果你想研讀 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

Constants (wiring.h)
  • HIGH | LOW
  • INPUT | OUTPUT
  • true | false
  • LSBFIRST | MSBFIRST
  • CHANGE | FALLING | RISING
  • DEFAULT | EXTERNAL
Main program (main.cpp)
函式名稱 語法
main() main()
init() init()
User Application/Sketch callbacks

底下兩個 callbacks 由使用者提供,main() 會主動呼叫這兩個 callbacks。

函式名稱 語法
setup() setup()
loop() loop()
Digital I/O (wiring_digital.c)
函式名稱 語法
pinMode() pinMode(pin, mode)
digitalWrite() digitalWrite(pin, value)
digitalRead() digitalRead(pin, value)
Analog I/O (wiring_analog.c)
函式名稱 語法
analogReference() analogReference(TYPE)
analogRead() analogRead(pin)
analogWrite() analogWrite(value)
Advanced I/O (Tone.cpp, wiring_shift.c, wiring_pulse.c)
函式名稱 語法
tone() tone(pin, frequency [, duration])
noTone() noTone(pin)
shiftOut() shiftOut(dataPin, clockPin, bitOrder, value)
shiftIn() shiftIn(dataPin, clockPin, bitOrder)
pulseIn() pulseIn(pin, value [, timeout])
Time (wiring.c)
函式名稱 語法
millis() millis()
micros() micros()
delay() delay(ms)
delayMicroseconds() delayMicroseconds(us)
Math (wiring.h, WMath.cpp and avr-libc)
函式名稱 語法
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)
Random Numbers (WMath.cpp)
函式名稱 語法
randomSeed() randomSeed(seed)
random() random([min,] max)
Bits and Bytes (wiring.c)
函式名稱 語法
lowByte() lowByte(x)
highByte() highByte(x)
bitRead() bitRead(x, n)
bitWrite() bitWrite(x, n, b)
bitSet() bitSet(x, n)
bitClear() bitClear(x, n)
bit() bit(n)
External Interrupts (WInterrupts.c)
函式名稱 語法
attachInterrupts() attachInterrupts(interrupt, function, mode)
detachInterrupts() detachInterrupts(interrupt)
Interrupts (wiring.c)
函式名稱 語法
interrupts() interrupts()
noInterrupts() noInterrupts()
USART (HardwareSerial.cpp, HardwareSerial.h, Print.cpp, Print.h)
函式名稱 語法
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 意見: