モノ創りで国造りを

ハード/ソフト問わず知見をまとめてます

UpBoardの各IFの使用方法

UARTの使い方

UpBoardのピンアサインは以下の通り。
f:id:yuji2yuji:20190625131019p:plain
コネクタの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と接続して動作確認を試みましたが、まだうまくいってません・・・