-
Notifications
You must be signed in to change notification settings - Fork 2
UART API
UART 英文與中文全名為 Universal Asynchronous Receiver/Trasnsmitter / 通用非 同步收發傳輸器 UART是通用異步收發器其包RS232、RS449、RS422和RS485等埠標準規範。
所謂同步,在介面中都依據同一條時脈線路的信號動作如I2C、SPI ,所謂的非同步在資料傳輸線路有自己的
傳輸步調,不依靠獨立的時脈線路,通常是將時脈信號藏著封包資料,以規律性的每隔一段時間傳輸資訊。
所以在UART介面中是由兩條線所組成,分為 RX 與 TX ,其通訊單位為一個字元,它可以8或9
位元寬。

位元可以是7、8或9長度。Parity可以設為 None,Even (0),ODD (1),Stop可以1或2 位元。當 Parity = None ,只可以支援8或9數元長度,當 Parity 啟動用 Even 或 ODD 校驗後,僅支援7或8數元長度。
class machine.UART(id,..)
在創建UART物件給定id值,取決於硬體規劃因此在MT7697提所提供兩個組UART埠為 UART0 與 UART1 ,因而在id設定為0或1,主要 UART0 一開始被UART USB所占用,用於 REPL 訊息傳送。
UART 實際接腳為:
- id = 0:UART0_RX = Pin0, UART0_TX = Pin1。
- id = 1:UART1_RX = Pin7, UART1_TX = Pin6。
UART.init(baudrate=9600, bits=8, parity=None, stop=1, *, ...)
初始UART參數度設定
- baudrate:是鮑率設定,可設定值110,300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600,預設值為9600 。
- bits:為每個字元數為5,6,7,8,預設值為8。
- parity:可以設定值為 None, 0(Even)或1(odd),預設值為 None。
- stop:stop的位元數可以為1或2,預設值為1。
- flow:設為流量控制為RTS/CTS用於RS232用半雙工模式方向切換,MT7697無提供初值為 false。
- timeout:等待第一個字節時間(以毫秒為單位)。
- rxbuf:指是RX緩衝區字節長度。
- read_buf_len:是讀取緩衝區的字節長度(關閉為0)。
UART.deinit()
關閉UART匯流排
UART.any()
他回傳一個整數數值,該數值為計數可以無阻塞讀取的字節。如果沒有可以讀取字節,將會回傳為 0 有多個字節可讀取將回傳正數。
UART.read([nbytes])
讀字節, 如果快達到超時,將回傳值為讀入的字節。如果回傳值為 None 為超時無讀入任何字節。
- nbytes:最多讀取那麼多字節,否則讀取盡可能多的數據。
UART.readchar()
接收1個字節,其回傳值為單1字節,當逾時回傳為-1。
UART.readline()
讀取字節直到換行字節則立即回傳,如果逾時則將回傳可己讀取到所有字節數資料。逾時回傳值為None,表示無讀 取到任何值。
UART.readinto(buf[, nbytes])
- buf:使用都宣告一個bytes array,當讀取bytes存入buf。
- nbytes:如果指定nbytes,為最多讀取字節。如果沒有為讀取len(buf)個字節。
回傳值:讀取並存儲到buf中的字節數,或在超時為None。
UART.write(buf)
將設定 bytes 的 buf 寫入UART匯流排
UART.writechar(char)
在匯流排上寫入字節,char是為ASCII整數
from machine import UART
uart = UART(1, 9600)
uart.read(10)
uart.read()
uart.readline()
buf = bytearray(10)
uart.readinto(buf)
uart.write('abc')
uart.readchar()
uart.writechar(62)
- Pin (machine module)
- I2C (machine module)
- PWM (machine module)
- WDT (machine module)
- RTC (machine module)
- Timer (machine module)
- ADC (machine module)
- SPI (machine module)
- UART (machine module)
- BLE (Peripheral)
- LinkIt Remote
- cmath (Builtin functions)
- gc (Builtin functions)
- math (Builtin functions)
- sys (Builtin functions)
- uarray (Builtin functions)
- ubinascii (Builtin functions)
- ucollections (Builtin functions)
- uerrno (Builtin functions)
- uhashlib (Builtin functions)
- uheapq (Builtin functions)
- uio (Builtin functions)
- ujson (Builtin functions)
- uos (Builtin functions)
- ure (Builtin functions)
- uselect (Builtin functions)
- usocket (Builtin functions)
- ussl (Builtin functions)
- ustruct (Builtin functions)
- utime (Builtin functions)
- uzlib (Builtin functions)
- []