arduino - Ameba - uart serial

Arduino Serial API : https://www.arduino.cc/en/reference/serial


Ameba 線路 : 參考 Ameba 大賽所公布的文件 :
    UM0048 Realtek Ameba-1 EVB 3v0 User Manual_1v2_20150316


Ameba 在 Arduino SDK, default 有兩組 UART

Serial :
   UART_LOG - 透過 DAP 從 USB 導出的 Serial uart . ( GPIOB_1 / GPIOB_0)

Serial1 : 
   在 D0 / D1 腳位上的 UART RX / TX , 用的是 GPIOA_6 / GPIOA_7,






所以可以和 com port 接 pin 2 - RX / pin3 -TX/ pin 5 - GND 即可 


----

int baud_rate = 9600;

void setup() {
  Serial1.begin(9600);
  Serial1.println("Hello, world");
}

void loop() {
  static int i=0;
  Serial1.print("hello ");
  Serial1.println(i);
  while ( Serial1.available() ) {
    Serial.write(Serial1.read());
  }
  i++;
  delay(1000);
}

----
用 usb 轉 serial 線  PC 與 Ameba 板對接


VDD 接 Ameba - 5V
GND 接 Ameba - GND
RX/TX 對接 到 D0/D1

測試程式會在 usb-serial 線的 com port 印出 Hello <秒數>
同時如果在這個視窗打字, 會透過 usb-serial 線傳給 Ameba, 
再從 DAP 傳到原本 Arduino Serial (log uart)  



-----

和 Arduino DUE 板子互接 
首先先在 Arduino DUE 寫一個 echo 程式


void setup() {
  Serial.begin(9600);
}

void loop() {
  int rc;
  if ( Serial.available() > 0 ) {
    rc = Serial.read();
    if ( rc > 0 ) Serial.write(rc);
  }
}


可以用序列監控視窗敲字, 他會回應相同的字. 


( 用 Arduino Uno 也可以, 或其他 uart 應用 )

接下來在 Ameba 和 Arduino 對接, Ameba D0 接 Arduino D1 /  Ameba D1 接 Arduino D0

這邊 Ameba 的 Serial 就是會走 usb 到 pc com port 的
Serial1 就是 D0/D1 和 Arduino 板子對接的. 

程式執行結果: 

Arduino 板子的 Serial 兩邊都通. 蠻神奇的. 




留言

熱門文章