> For the complete documentation index, see [llms.txt](https://cavedu.gitbook.io/linkit-7697/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cavedu.gitbook.io/linkit-7697/linkit-7697-arduinoide/kai-fa-zhi-nan/uart.md).

# UART

LinkIt 7697 提供兩個 UART (Serial 序列) 介面，分別是：

* **UART0** (P0 與 P1 腳位)。這個序列埠與板上的 CP2102N USB-to-UART 轉換晶片相連。開發者可使用 Arduino 的 **Serial** 類別來存取這個介面。同時也能透過 Arduino 的 **Serial Monitor** 來對該通訊埠進行讀取或寫入。
* **UART1** (P7 與 P6 腳位)。這個序列埠對應到 Arduino 裡的 **Serial1** 類別。由於它沒有接到板上的 USB-to-UART 轉換晶片，所以若要透過電腦存取該序列埠的話，需要將它連接至另一個 USB-to-UART 轉換器後才能正常使用。

1. 點選選單中的 **File > Examples > 04. Communications > ASCII table** 選項並將它編譯與上傳至開發板。
2. 上傳完畢後，點選工具列右方的 **Serial Monitor** 按鈕來開啟顯示視窗 (按鈕位置如下)：

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FqV2fYE9nr0cLzZcy9kXG%2Farduino_serial_monitor.png?alt=media\&token=8e034606-02af-4723-9132-8e0f06c69e00)

3.將視窗裡的 baud rate 設定為 **9600 baud** (此數值需與程式裡第 24 行所指定的速率 `Serial.begin(9600) 一致，如此才能正常顯示來自 UART 的資料)。`

4.按下板上的 **RST** 按鈕使 LinkIt 7697 重新開機並開始執行剛剛上傳的 ASCII table 程式。**RST** 按鈕的位置標示如下：

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FhjA8TLkh1NSLQiExVoOk%2Frst_button.png?alt=media\&token=31168ac4-d077-4cb9-b0c8-3ab1caf2e517)

需注意的是，雖然 LinkIt 7697 在 sketch 上傳後會自動重新啟動，但若在 sketch 執行後才開啟 Serial Monitor 將不會看見任何資訊輸出，因此需要開發者在此步驟中自行按壓 **RST** 按鈕重啓系統。

5.在 Serial Monitor 視窗中將會顯示 ASCII 碼的列表如下： \
&#x20;

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FqALfY0kVgT0qsqZ0SLW1%2Fascii_output.png?alt=media\&token=7f18ecb9-60f4-4408-b8b8-7f3dfb917c59)

開發者也可嘗試將此例中的 **Serial** 改寫為 **Serial1**，這時輸出將會從 P1/P0 腳位變更至 **P6/P7** 腳位。如同前面所述，開發者需使用額外的 USB 轉 UART 轉接器才能從 PC 端讀取 P6/P7 的訊號。

### 使用其他的終端機軟體 <a href="#uart-shi-yong-qi-ta-de-zhong-duan-ji-ruan-ti" id="uart-shi-yong-qi-ta-de-zhong-duan-ji-ruan-ti"></a>

除了 Arduino IDE 自帶的 Serial Monitor，開發者亦可使用其他的終端機軟體來連接序列埠。但要注意使用其他終端機軟體時，需將軟體本身的 **Flow control** 相關功能關閉，以避免開發板的 RTS 及 DTR 訊號受到影響、造成開發板無法開機的狀況 (RTS 及 DTR 訊號被開發板保留用來切換開機模式使用，當無法以正常模式開機時，將會在終端機軟體中看見 "CCC" 的輸出)。以下舉兩個終端機軟體的例子 (PuTTy 及 eagleCom)，說明如何關閉相關功能：

在 PuTTY 中，需將 **Flow control** 欄位設為 None。

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FZibLcnnIK5RZty8M1rWH%2Fserial_port_config.png?alt=media\&token=bcfbb9a4-5c8d-4163-b568-99d29515117f)

在 eagleCom 裡，需將 **DTR** 及 **RTS** 訊號拉低：

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FRhAoZ5j4418KVekEoNrc%2Feagle_com_config.png?alt=media\&token=bee324ac-587a-4fc1-9ea0-fbe8c1d316b4)

關於使用 DTR / RTS 訊號作為切換開機模式的機制，請參閱 MT76x7 燒錄工具說明以獲得更多資訊。
