TOPへ
特殊電子回路について

English
Loading
トップ ページ >  チュートリアル > RXduinoライブラリでUSB通信を行う

RXduinoライブラリでUSB通信を行う

USB通信をするには特電HALRXduinoを利用した方法がありますが、RXduinoライブラリは特電HALをより簡単に利用できるようにしたものです。

 RXduinoライブラリを使えばUSBをとても簡単に利用できます。
 RXduinoは起動する際に、グローバルなクラスのインスタンスSerialという物を作ります。このSerialインスタンスは、中で

sci_init(SCI_AUTO,38400)

 を実行しているので、最初に接続されたSCIやUSBの仮想シリアルを通じて通信するようになります。

 ※この動作を変更するにはRXduinoライブラリのソースSerial.cppを修正する。

 RXduino環境でUSBを使うには、次のようなプログラムを組みます。

#include 
 
void setup() {
  Serial.begin(38400);
  Serial.println("Serial sample program (RXduino version)");
  Serial.println("CRとLFのコード変換も行っています");
  pinMode(PIN_LED3,OUTPUT);
  int count = 0;
}
 
void loop() {
  while(1) {
    if(Serial.available()) { // 何か受信した文字がある
      char tmp[10];
      char c = Serial.read(); // 1文字受信
      tmp[0] = c;
      tmp[1] = '\0';
      Serial.print(tmp); // エコーバック
      if(c == 0x0d) {
        Serial.print("[\\r]");
      }
      else if(c == 0x0a) {
        Serial.print("[\\n]");
      }
      else {
        Serial.print("[");
        Serial.print(c); // 文字コードを10進で表示
        Serial.print("]");
      }
      digitalWrite(PIN_LED3 , count++ & 1);
    }
  }
}  

このサンプルプログラムは、ホストPCから送られた文字をエコーバックするとともに、文字コードを数字にして表示します。