UpBoardの各IFの使用方法
UARTの使い方
UpBoardのピンアサインは以下の通り。
コネクタのPin8がUARTの送信、Pin10がUartの受信に使用するピンです。
UARTの受信
UpBoardでUARTを受信できるか確認するため、ArduinoからUARTを送信しUpBoardで受信してみます。
ボーレート以下で設定します。
$ stty -F /dev/ttyS1 115200
*ピンマップにはttyS4と記載されていますが、それはUbuntuなどの場合
*ubilinuxだとttyS1が正しいようです
UARTで受信したデータは以下に保存されます。
$ /dev/ttyS1
データをリアルタイムで確認するならcatコマンドを使用します。
$ cat /dev/ttyS1
Arduinoのプログラムは以下です。
void setup() { Serial.begin(115200); } void loop() { Serial.print("Hello world\n"); }
UARTの送信
次はUpBoardからArduinoにUART送信してみます。
$ echo "Hello world" > /dev/ttyS1
と打てば、Arduinoのシリアルモニターに文字が出力されます。
Arduinoのプログラムは以下。
void setup() { Serial.begin(115200); } void loop() { char inputchar; inputchar = Serial.read(); if(inputchar != -1 ){ Serial.print(inputchar); delay(200); }
UpBoardとArduinoを接続し、上述のcatコマンドを実行することで、
ターミナル上にHello World
が出続けます。
I2Cの使い方
UpBoardでI2Cが使えるようにするため、以下のコマンドを実行しましょう。
$ sudo apt install i2c-tools
UpBoardのI2Cは、i2c-0とi2c-5の2つあります。
i2c-5に接続されるデバイスのアドレスを検出するには、以下のコマンドを実行します。
sudoでないとコマンドが見つからないので注意。
$ sudo i2cdetect -r -y 5
I2Cデバイスに以下のデータを送りたい場合、
送信するデータ:0xFF, 0xF0
レジスタのオフセット: 0x40
アドレス:0x60
実行するコマンドは次の通り。
$ sudo i2cset -y 5 0x60 0x40 0xFF 0xF0 i
- Arduinoと接続して動作確認を試みましたが、まだうまくいってません・・・