[通訊]
描述
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 started 和 hardware 頁面。
半雙工模式 (只限 86Duino):
86Duino Zero/One/EduCake 上的每一組 TTL 串列埠 Serial1
、Serial2
和 Serial3
皆支援半雙工模式,只使用 TX 腳位來接收和傳送串列資料。此模式可讓 86Duino 直接與特定的 AI 馬達連接,如 Robotis Dynamixel AX-12,無須額外的三態閘電路。半雙工模式可透過 Serial1
、Serial2
和 Serial3
的 begin()
函式來設定。
RS232 與 RS485 串列埠:
86Duino EduCake 和 86Duino PLC 支援 9 支腳位的 RS232 串列埠,操作電壓為 +/- 12 伏特,可透過 Serial232 去存取使用。86Duino ONE 和 86Duino PLC支援一組 RS485 串列埠,可透過 Serial485 去存取使用。
Serial232
和 Serial485
的使用方式與 Serial1
、Serial2
和 Serial3
相同,但這兩組串列埠不支援半雙工模式的設定。
Functions
- 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
語法參考主頁面
86Duino 參考的文本是根據 Creative Commons Attribution-ShareAlike 3.0 License,部分文本是從 the Arduino reference 修改的。 參考中的代碼示例已發佈到公共領域。