Ameba MicroPython: [RTL8722CSM] [RTL8722DM] UART

class UART – 通用異步收發傳輸器
示例
UART 發送和接收:
• 使用材料: Ameba x 1, USB轉TTL串行模塊 x 1
• 步驟:
UART是一種非常通用的通信協議,是微控制器的一個重要組成部分。USB轉TTL串行傳輸模塊是一種可以將UART信號轉換為USB信號的集成電路,以便我們可以在PC上看到UART日誌。該模塊經常用於包括Ameba在內的許多開發板上。 但是,該模塊在Ameba上的功能被保留用於LOG UART和固件上傳,所以我們需要其他獨立模塊在Ameba和PC之間進行通信。
當前有2組UART引脚供MicroPython用戶使用,它們分別是
Unit TX RX
0
PA_21
PA_22
3
PA_26
PA_25
在此示例中,我們使用第“0”組UART引脚來示範UART在Ameba上的工作方式。
如下圖所示,將USB轉TTL串行傳輸模塊連接到引脚PA_21和PA_22
get-start-7
然後,將以下代碼逐行複制並粘貼到REPL中,以查看其效果。
from machine import UART
uart = UART(tx="PA_21", rx= "PA_22")
uart.init()
uart.write('hello')
uart.read(5) # read up to 5 bytes
API 文件
構造函數
UART(unit [選填], baudrate [選填], databits [選填], stopbit [選填], paritybit [選填], timeout [optional], tx_pin [required], rx_pin [required])
創建一個與給定的TX和RX引腳相關聯的UART對象,並通過使用其他相關參數進行配置后,便可以在引腳上做讀寫。
• unit: 代表可使用UART引脚組的ID,可輸入0或3
• baudrate: 在Ameba上使用115200
• databits: 數據字節的數量,通常爲7到8個字節
• stopbits: 停止位的字節數量,通常爲1字節,1.5字節或2 字節
• paritybit: 用於奇偶校驗,數值通常為none(無),odd(奇)或even(偶)
• timeout: 計算UART在超時(timeout)之前等待的時間 (以毫秒為單位)
• tx_pin: 發送端引脚,通常與接受器的RX引脚連接
• rx_pin: 接收端引脚,通常與發送器的TX引脚連接
Note: 並非所有參數都是必需的,因此如果不填,MicroPython將採用其默認值,下表為所有選填參數的默認值
Parameter Default Value
Unit
0
Baudrate
115200
Databits
8
Stopbits
1
Paritybit
0
Timeout
10 (ms)
方法
UART.init()
使用此方法初始化UART配置
 
UART.read(length [選填])
此方法用於從UART緩存中讀取數據
• length: 接收數據的長度
 
UART.readline()
此方法功能類似於read()但每次會讀出一行內容
 
UART.write(buffer [必填])
該方法將字節緩衝區發送到總線,並返回寫入的字節數。
• buffer: 字節緩存區,可以存放的數據類型有字符串類型,整型等其他類型。
 
UART.irq_enable(bool [選填])
此方法有兩種使用方式:
• 當沒有傳入任何參數,該方法檢查UART中斷請求(IRQ)的狀態,如果啟用了IRQ,它將返回True;如果禁用IRQ,則返回False
• 通過傳入True/False來啓用/禁用UART IRQ處理程序
 
UART.irq_handler(function [必填])
將Python處理函數傳遞給UART 中斷請求,以便在發生UART事件時將其觸發。
• function: 在Python中定義的函數或lambda函數
請先確認已安裝QQ通訊軟體