UART - 透過 USB 轉Serial模組與 PC 通訊
範例說明
介紹
UART使用了兩條線讓雙方可以同時傳送資料。其中一條是Transmitting,另一條則是Receiving,雙方使用約定好的頻率 (baud rate) 來傳資料。 Arduino 稱呼UART為Serial,在Arduino Uno上只有一組硬體UART,並且這組UART主要被當作印出訊息使用(即Log UART) ,所以當Arduino要使用硬體的UART時,就會佔用Log UART的資源。為了提供多組UART可以使用, GPIO 引腳通過軟件方法模擬 UART 的行為,這稱為Software Serial。 Ameba 配置了多個硬件 UART 端口,也與Software Serial庫兼容。
流程
USB to TTL Adapter送出資料給Ameba, Ameba回傳相同的資料, 最後顯示在螢幕上。
- 安裝USB to TTL Adapter
USB to TTL Adapter是個將USB轉成Serial介面的晶片。它一般會有4根腳, 分別是3V3(或5V), GND, TX, RX。在使用USB to TTL Adapter時, 通常都需要安裝驅動程式。如果你的晶片是FTDI的, Windows會上網找驅動程式並自動安裝, 或者也可以自己找驅動程式。
安裝完驅動程式之後, 會在裝置管理員找到對應的Serial Port, 像圖中我的FTDI USB to TTL Adapter在COM8, 而Silicon USB to TTL Adapter則在COM6:

- 執行範例
首先先打開SoftwareSerialExamle範例, 它在 “File” -> “Examples” -> “AmebaSoftwareSerial” -> “SoftwareSerial_Basic”:
並且我們這樣接線, USB to TTL Adapter的TX接到Ameba的D0(即RX), USB to TTL Adapter的RX接到Ameba的D1(即TX):
AMB21 / AMB22 接線圖:
AMB23 接線圖:
BW16 接線圖:
BW16 type C 接線圖:
AW-CU488 Thing Plus 接線圖:
AMB25 接線圖:
接著我們打開Serial Port Terminal, 常見的Serial Port Terminal有Putty, Tera Term。我們以Putty說明如何設定, 先將Connection Type選擇Serial, 並且將Serial line填入USB to TTL Adapter所在的Port, (Ex. COM8)。
Speed指的就是USB的baud rate,需要與Serial的另一端做搭配,這個在範例里為4800,所以我們設定4800。

程式碼說明
https://www.arduino.cc/en/Reference/SoftwareSerialBegin
https://www.arduino.cc/en/Reference/SoftwareSerialAvailable