ココアシリアル(編集)
ここでは、ObjectiveCとのインターフェースの3つの方法を紹介します。
http://arduino.cc/playground/Interface/Cocoa
Arduinoシリアル
接続を確立する方法を知っている場合はSerial/USB
、値を文字列またはバイナリとしてArduinoに送信できます。
setup()
Arduinoのメソッドでは、Serial
このような接続として確立します。
nb:115200
この例ではボー/速度を使用
Serial.begin(115200);
Arduinoのloop()
メソッドでは、cアプリケーションからデータを読み取ることができます。これは、を使用してcアプリケーションにデータを送り返す方法を含む完全なArduinoの例です。Serial.print()
int incomingByte = 0; // for incoming serial data
void setup() {
Serial.begin(115200); // opens serial port, sets data rate to 115200 bps
}
void loop() {
// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}
ソースhttp://arduino.cc/en/Serial/read
上記の例は非常に大雑把です。Serial.available()を使用して、読み取られるのを待機しているデータの量を確認できます。
パケットの終わりのインジケータとして(パケットが完全に受信されたことを知るために)ラインターミネータまたは他のタイプのターミネータstrings
を使用したい場合があります。\n
独自のヘッダーを設計し、データの整合性を確保することをお勧めしますが、単純で重要でないプロジェクトについてcheck sum
は気にしません。check sums
例として、gpsシステムは文字列/テキストモードのときに文を送信することがよくあります。tinyGPSと呼ばれるArduinoライブラリを検索すると、Arduinoプログラム内のさまざまな変数に文全体を読み取る1つの方法がわかります。
これはNMEAGPSセンテンスです。プロジェクトで同じヘッダーを使用せず、代わりに独自のヘッダーを設計してください。これは、複数の値(int、string、floatなど)をArduinoに送信する方法のほんの一例です。
$GPBWC,081837,,,,,,T,,M,,N,*13
http://aprs.gids.nl/nmea/