Serial

Serial 是讓 86Duino 用來與電腦或其他裝置溝通的管道;86Duino Zero/One/EduCake 至少有一個串列埠 (也被稱為 UART 或 USART)。Serial1 可藉由數位腳位 0 (RX) 和腳位 1 (TX) 與電腦通訊 (須經過一顆 USB-to-Serial TTL 轉換晶片);若使用此功能,數位腳位 0 與腳位 1 則不能使用輸入/輸出功能。

你可以使用 86Duino 或 Arduino 開發環境下的串列監測功能與 86Duino 通訊。點擊工具列的串列監測視窗圖示,並設定和程式中 begin() 相同的鮑率。

86Duino ONE 和 EduCake 擁有兩組額外的串列埠:Serial2 在腳位 17 (RX) 和腳位 16 (TX),而 Serial3 在腳位 15 (RX) 和腳位 14 (TX)。若要使用這些串列埠與你的個人電腦通訊,必須在個人電腦上加裝一個 USB-to-Serial TTL 轉換裝置;若要與外部的 TTL 串列裝置溝通,TX 要連接到外部裝置的 RX,RX 要連接到外部裝置的 TX,然後將 86Duino 與外部裝置共地。(切勿直接將這些腳位連接至 RS232 串列埠;RS232 的邏輯電位為 +/- 12 伏特,86Duino 板可能因此損毀)

此外,所有 86Duino 板皆有一組原生的 USB 串列埠,Serial。此串列埠是使用 USB CDC 做為通訊方式,用法與 Arduino Leonardo 相同。欲瞭解更多資訊,可參考 Arduino Leonardo 的 getting startedhardware 頁面。

半雙工模式 (只限 86Duino):

86Duino Zero/One/EduCake 上的每一組 TTL 串列埠 Serial1Serial2Serial3 皆支援半雙工模式,只使用 TX 腳位來接收和傳送串列資料。此模式可讓 86Duino 直接與特定的 AI 馬達連接,如 Robotis Dynamixel AX-12,無須額外的三態閘電路。半雙工模式可透過 Serial1Serial2Serial3begin() 函式來設定。

RS232 與 RS485 串列埠:

86Duino EduCake 和 86Duino PLC 支援 9 支腳位的 RS232 串列埠,操作電壓為 +/- 12 伏特,可透過 Serial232 去存取使用。86Duino ONE 和 86Duino PLC支援一組 RS485 串列埠,可透過 Serial485 去存取使用。

Serial232Serial485 的使用方式與 Serial1Serial2Serial3 相同,但這兩組串列埠不支援半雙工模式的設定。

函式

if (Serial)
available()
begin()
end()
find()
findUntil()
flush()
parseFloat()
parseInt()
peek()
print()
println()
read()
readBytes()
readBytesUntil()
setTimeout()
write()
serialEvent()

範例

以下 Serial 的使用範例源自 Arduino Tutorial,並且可在 86Duino 上執行:

ReadASCIIString
ASCII Table
Dimmer
Graph
Physical Pixel
Virtual Color Mixer
Serial Call Response
Serial Call Response ASCII


語法參考主頁面

本頁由熱血青年 LBU 譯自英文版。

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.