問(wèn)題描述
客戶在使用 STM32G071RB 的 LPUART 單線半雙工模式開發(fā)相關(guān)的應(yīng)用時(shí),進(jìn)行連續(xù)接收發(fā)送數(shù)據(jù)時(shí),客戶在檢測(cè)到 RXNE 位時(shí),認(rèn)為接收完成,立即進(jìn)行發(fā)送,發(fā)現(xiàn) stop位(波形不完整)與 start 位發(fā)生了重疊。
客戶配置:
時(shí)鐘頻率:HSI=16MHz
波特率:9600 bits/s.
停止位:1bit
字長(zhǎng):8 bits
校驗(yàn):none
問(wèn)題分析
復(fù)現(xiàn)客戶問(wèn)題:
實(shí)驗(yàn)環(huán)境搭建:使用兩塊 STM32G071RB NUCLEO 板子采用單線半雙工通信,將兩塊板子編號(hào)為 STM32G071RB NUCLEO_A 和 STM32G071RB NUCLEO_B。使用邏輯分析儀抓取信號(hào)波形。
問(wèn)題解決
解決 LPUART 單線半雙工連續(xù)通信過(guò)程中 start 位與 stop 位重疊的問(wèn)題我們找出了三種方法:
- 降低 LPUART 時(shí)鐘
- 使能 TE、RE 位
- 使能 485 驅(qū)動(dòng)器
總結(jié)
在 STM32G071 的 LPUART 在單線半雙工連續(xù)通信過(guò)程中可以通過(guò)使能 485 驅(qū)動(dòng)器靈活控制 stop 位與 start 位之間的時(shí)間,使得接收和發(fā)送不會(huì)相互干擾。