本文將對(duì)4G模組Air724UG軟件的UART做出相關(guān)示例,希望想了解此模組的朋友們收藏好仔細(xì)看。
一、串口(uart)概述
UART(通用異步接收器/發(fā)送器)是一種串行通信協(xié)議,因其多功能性和簡(jiǎn)單性而被廣泛使用。與 I2C 和 SPI 不同,UART 只需要兩條線即可運(yùn)行:TX(發(fā)送)和 RX(接收)。該協(xié)議允許異步通信,也就是說發(fā)送器和接收器之間無需共享時(shí)鐘。數(shù)據(jù)被組織成數(shù)據(jù)包,每個(gè)數(shù)據(jù)包包含一個(gè)起始位、5 到 9 個(gè)數(shù)據(jù)位、一個(gè)可選的奇偶校驗(yàn)位和1個(gè)、2個(gè)或者1.5個(gè)停止位。
優(yōu)點(diǎn):
簡(jiǎn)單:UART 通信協(xié)議相對(duì)簡(jiǎn)單,易于實(shí)現(xiàn)和調(diào)試。
適用性廣泛:UART 被廣泛應(yīng)用于各種設(shè)備之間的通信,具有較好的兼容性。
距離:UART 通信距離較遠(yuǎn),適用于需要長(zhǎng)距離傳輸?shù)膱?chǎng)景。
缺點(diǎn):
速度較低:UART 通信速度相對(duì)較低,不適用于對(duì)速度要求較高的應(yīng)用。
雙工:UART 通信是雙工的,可以進(jìn)行低速雙工傳輸數(shù)據(jù),進(jìn)行數(shù)據(jù)的發(fā)送和接收。
不可靠:由于 UART 是異步通信,可能會(huì)受到噪聲和干擾的影響,導(dǎo)致數(shù)據(jù)傳輸不可靠。
二、演示功能概述
本文主要教你使用 Air724UG 開發(fā)板對(duì)串口(uart)進(jìn)行一個(gè)測(cè)試,其中包含了串口,RS485,usb 虛擬串口,多串口,串口電平轉(zhuǎn)換等內(nèi)容,其中對(duì) RS485 有一個(gè)搭配溫濕度傳感器做的一個(gè)溫濕度傳感器 demo
三、準(zhǔn)備硬件環(huán)境
3.1 開發(fā)板準(zhǔn)備
在開始之前,需要準(zhǔn)備一套 Air724UG 開發(fā)板,目前合宙推出兩種 Air724UG 開發(fā)板(開發(fā)板和核心板),開發(fā)板的優(yōu)勢(shì)在于大多數(shù)管腳接口都引出來了,例如 sd 卡,camera,屏幕等接口,實(shí)際使用都是一樣的,在使用時(shí)可根據(jù)自身需求選擇開發(fā)板。
1)如果你選擇的是Air724UG開發(fā)板:
此開發(fā)板的詳細(xì)使用說明參考:
https://docs.openluat.com/air724ug/product/
Air724UG產(chǎn)品手冊(cè)中的 《EVB_Air724UG_AXX開發(fā)板使用說明》,寫這篇文章時(shí)最新版本的使用說明為:《EVB_Air724UG_A14開發(fā)板使用說明》;開發(fā)板使用過程中遇到任何問題,可以直接參考這份使用說明文檔。
2)如果你選擇的是Air724UG核心板:
下方資料可供你參考查閱:
https://docs.openluat.com/air724ug/product/
Air724UG產(chǎn)品手冊(cè)中的Air724UG-核心板硬件資料
3.2 SIM 卡
在中國(guó)大陸環(huán)境下,使用移動(dòng),電信,聯(lián)通的物聯(lián)網(wǎng)卡或者手機(jī)卡都可以。
3.3 數(shù)據(jù)通信線
1)USB 數(shù)據(jù)線
2)由于本篇教程和串口相關(guān),所以需要準(zhǔn)備 USB 轉(zhuǎn) TTL 工具或者串口線。例如 CH340、FT232 等,本文使用的是高速串口
3.4 PC 電腦
PC 電腦推薦使用 win7 及以上版本,Air724UG 驅(qū)動(dòng)下載地址:
8910驅(qū)動(dòng):
https://doc.openluat.com/wiki/21?wiki_page_id=6908
3.5 介紹串口如何接線
Air724UG 模組有 5 個(gè)串口,分別為 UART1,UART2,UART3,HOST UART 和 ZSP UART 調(diào)試串口。
其中對(duì)于 Luat 開發(fā)方式,UART1 可以用作一個(gè)通用的串口來連接其他的串口設(shè)備。
UART2 可以用來射頻校準(zhǔn),同時(shí) UART2 還用來和內(nèi)部的藍(lán)牙進(jìn)行通訊,如果用到了藍(lán)牙功能,則 UART2 不可 再用作其他用途。
UART3 是一個(gè)通用串口,可以用作外接 GPS 等外設(shè)。
HOST UART 用來軟件調(diào)試時(shí)輸出 AP trace。
ZSP UART 用來軟件調(diào)試時(shí)輸出 CP trace。
其中 HOST UART 和 ZSP UART 不能作為普通串口使用,只用于調(diào)試輸出底層日志。
1)如果你想了解這 5 個(gè)串口對(duì)應(yīng)于模組的哪個(gè)管腳,請(qǐng)看下方圖片:
2)如果你只想知道 Air724UG 開發(fā)板的串口引出位置,請(qǐng)看下方圖片:
3)接下來進(jìn)行接線操作,注意模塊與 MCU 之間要交叉接線,即 TX 接 RX,RX 接 TX,GND 接 GND 。由于本文只需用到 UART1 和 UART2 兩個(gè)通用串口,因此下表中只列出了這兩個(gè)通用串口的模塊引腳編號(hào)及模塊與 MCU 之間接線說明。
四、準(zhǔn)備軟件環(huán)境
4.1 源碼及工具
Air724UG模塊使用固件:
固件地址:
https://docs.openluat.com/air724ug/luatos/firmware/
選擇最新版本CORE_V4030,本文使用的固件版本是:LuatOS-Air_V4030_RDA8910_BT_FLOAT.pac
將固件和腳本燒錄到模塊中,使用說明參考:
Luatools 下載和詳細(xì)使用
https://docs.openluat.com/Luatools/
串口工具本文選用的是 sscom
4.2 uart 庫(kù)接口描述
uart 庫(kù)即串口操作庫(kù),該庫(kù)為內(nèi)部庫(kù),所以在程序中使用時(shí)無需 require 調(diào)用,本文只是簡(jiǎn)單介紹 uart 庫(kù)中常用接口描述,其余接口描述請(qǐng)參考:uart 接口文檔
4.2.1 配置串口參數(shù)
4.2.2 寫串口
4.2.3 讀串口
4.2.4 關(guān)閉串口
4.2.5 注冊(cè)串口事件回調(diào)
4.2.6 485 轉(zhuǎn)向控制
4.2.7 從串口讀取單字符
4.3 初始化 uart
使用 UART1 串口
使用 UART2 串口
4.4 注冊(cè)接收數(shù)據(jù)的回調(diào)函數(shù)
uart.on 函數(shù)用于注冊(cè)一個(gè)接收事件的回調(diào)函數(shù),當(dāng)指定的串口 UART_ID 接收到數(shù)據(jù)時(shí),該回調(diào)函數(shù)會(huì)被自動(dòng)觸發(fā)并執(zhí)行。回調(diào)函數(shù)通過 uart.on(UART_ID, "receive", read)定義,并處理接收到的數(shù)據(jù)。數(shù)據(jù)的讀取是通過 uart.read()函數(shù)進(jìn)行的,uart.read()函數(shù)是非阻塞的,它是直接從現(xiàn)有緩存區(qū)中直接讀取數(shù)據(jù)。
4.5 發(fā)送數(shù)據(jù)
本文中字符串編碼格式為 UTF-8 編碼格式,SSCOM 串口調(diào)試工具的編碼格式為 GB2312,所以導(dǎo)致無法正確顯示字符串中的中文,需要注意。
4.5.1 發(fā)送普通字符串
4.5.2 發(fā)送十六進(jìn)制的數(shù)據(jù)串
4.5.3 發(fā)送 json 格式的數(shù)據(jù)
4.6 完整例程
代碼運(yùn)行結(jié)果:
uart.write(UART_ID, common.utf8ToGb2312("合宙模塊Air724UG"))向串口發(fā)送對(duì)應(yīng)的字符串?dāng)?shù)據(jù),uart.on()會(huì)事先注冊(cè)一個(gè)接收數(shù)據(jù)的回調(diào)函數(shù),當(dāng)指定的串口 UART_ID 接收到數(shù)據(jù)時(shí),該回調(diào)函數(shù)會(huì)被自動(dòng)觸發(fā)并執(zhí)行,log.info("testUart.read bin",data) log.info("testUart.read hex",data:toHex())會(huì)將接收到的數(shù)據(jù)打印出來,此時(shí)我們通過串口調(diào)試工具,選擇對(duì)應(yīng)的端口,即可看到對(duì)應(yīng)的打印信息。
五、RS485 通信
5.1 簡(jiǎn)單介紹下 RS485
物聯(lián)網(wǎng)(IoT)在工業(yè)場(chǎng)景中的應(yīng)用越來越廣泛,而 RS485 是一種常見的通信協(xié)議,廣泛應(yīng)用于工業(yè)自動(dòng)化和物聯(lián)網(wǎng)系統(tǒng)中。RS485 是一種串行通信標(biāo)準(zhǔn),主要用于長(zhǎng)距離、多節(jié)點(diǎn)通信。適用于工業(yè)環(huán)境中的傳感器、執(zhí)行器、控制器等設(shè)備之間的數(shù)據(jù)傳輸,且支持多點(diǎn)通信,可以連接多個(gè)設(shè)備,實(shí)現(xiàn)分布式控制。因?yàn)榫哂休^好的抗干擾能力,也很適用于噪聲環(huán)境下的通信。RS485 支持長(zhǎng)距離傳輸,通常可達(dá) 1200 米,適用于工業(yè)現(xiàn)場(chǎng)中的遠(yuǎn)程監(jiān)控和控制。
RS485 是一種半雙工通信協(xié)議。半雙工通信協(xié)議允許數(shù)據(jù)在兩個(gè)方向上傳輸,但同一時(shí)間只能在一個(gè)方向上傳輸數(shù)據(jù)。在 RS485 通信中,當(dāng)發(fā)送數(shù)據(jù)時(shí),只能發(fā)送數(shù)據(jù)而不能接收數(shù)據(jù);當(dāng)接收數(shù)據(jù)時(shí),只能接收數(shù)據(jù)而不能發(fā)送數(shù)據(jù)。
比如:在 RS485 通信中,通常使用一個(gè)引腳(如 A 或 RX )作為發(fā)送引腳,另一個(gè)引腳(如 B 或 TX )作為接收引腳。當(dāng)發(fā)送數(shù)據(jù)時(shí),發(fā)送引腳輸出高電平或低電平,接收引腳不工作;當(dāng)接收數(shù)據(jù)時(shí),接收引腳輸出高電平或低電平,發(fā)送引腳不工作。有的也有單獨(dú)一根線專門用于控制收發(fā)邏輯,輸出高低電平,負(fù)責(zé)管理 RS485 的通訊,包括發(fā)送、接收、處理錯(cuò)誤等數(shù)據(jù)。
優(yōu)點(diǎn):
抗干擾能力強(qiáng):RS485 采用差分信號(hào)傳輸,抗干擾能力強(qiáng),適用于工業(yè)環(huán)境中的噪聲干擾。
傳輸距離遠(yuǎn):RS485 支持長(zhǎng)距離傳輸,適用于工業(yè)現(xiàn)場(chǎng)中的遠(yuǎn)程監(jiān)控和控制。
多節(jié)點(diǎn)通信:RS485 支持多點(diǎn)通信,可以連接多個(gè)設(shè)備,實(shí)現(xiàn)分布式控制。
兼容性好:RS485 是一種標(biāo)準(zhǔn)化的通信協(xié)議,具有較好的兼容性,可以與其他設(shè)備進(jìn)行通信。
成本較低:RS485 模塊和電纜的成本相對(duì)較低,適用于工業(yè)現(xiàn)場(chǎng)中的成本控制。
缺點(diǎn):
信號(hào)衰減:隨著距離的增加,信號(hào)衰減會(huì)加劇,影響通信質(zhì)量。
速率限制:RS485 的傳輸速率相對(duì)較低,通常在 9600bps 到 115200bps 之間,適用于低速數(shù)據(jù)傳輸。
電氣特性要求:RS485 對(duì)電氣特性有較高的要求,需要使用特定的電纜和連接器。
布線復(fù)雜:RS485 需要使用雙絞線進(jìn)行布線,布線復(fù)雜度較高。
5.2 硬件展示
724UG 開發(fā)板 +RS485-TTL+RS485-USB
RS485-USB
接線方式:
注意:上面的硬件使用的 RS485-TTL 為硬件自動(dòng)轉(zhuǎn)換,實(shí)際使用根據(jù)硬件設(shè)置去選擇 gpio 轉(zhuǎn)換或者硬件自動(dòng)轉(zhuǎn)換
5.3 初始化 uart
5.4 注冊(cè)接收數(shù)據(jù)的回調(diào)函數(shù)
5.5 發(fā)送數(shù)據(jù)
本文中字符串編碼格式為 UTF-8 編碼格式,SSCOM 串口調(diào)試工具的編碼格式為 GB2312,所以導(dǎo)致無法正確顯示字符串中的中文,需要注意。
5.5.1 發(fā)送普通字符串
5.5.2 發(fā)送十六進(jìn)制的數(shù)據(jù)串
5.5.3 發(fā)送 json 格式的數(shù)據(jù)
5.6 完整例程
代碼運(yùn)行結(jié)果:
uart.write(UART_ID, common.utf8ToGb2312("合宙模塊Air724UG"))向串口發(fā)送對(duì)應(yīng)的字符串?dāng)?shù)據(jù),uart.on()會(huì)事先注冊(cè)一個(gè)接收數(shù)據(jù)的回調(diào)函數(shù),當(dāng)指定的串口 UART_ID 接收到數(shù)據(jù)時(shí),該回調(diào)函數(shù)會(huì)被自動(dòng)觸發(fā)并執(zhí)行,log.info("testUart.read bin",data) log.info("testUart.read hex",data:toHex())會(huì)將接收到的數(shù)據(jù)打印出來,此時(shí)我們通過串口調(diào)試工具,選擇對(duì)應(yīng)的端口,即可看到對(duì)應(yīng)的打印信息。
5.7 溫濕度傳感器例程
5.7.1 硬件展示
使用的硬件為 sht20 溫濕度傳感器 +724UG 開發(fā)板 +RS485-TTL
sht20溫濕度傳感器
接線方式:
5.7.2 代碼展示
本示例是利用 sht20 溫濕度傳感器 +724UG 開發(fā)板 +RS485-TTL 通過 485 做的一個(gè)采集溫濕度的 demo,主要邏輯是通過發(fā)送 16 進(jìn)制數(shù)據(jù) 0x01,0x04,0x00,0x01,0x00,0x02,0x20,0x0B 來獲取溫濕度
然后對(duì)獲取數(shù)據(jù)進(jìn)行 modbus 校驗(yàn),然后對(duì)數(shù)據(jù)進(jìn)行解析,根據(jù)公式計(jì)算出實(shí)際溫濕度
通過 json.encode()把表內(nèi)的數(shù)據(jù)轉(zhuǎn)換成 json 類型打印出來
六、USB 虛擬串口
6.1 介紹 USB 虛擬串口
USB 虛擬串口是一種將 USB 接口轉(zhuǎn)換為串行通信接口的技術(shù)。它允許計(jì)算機(jī)通過 USB 接口與其他設(shè)備進(jìn)行串行通信,如調(diào)制解調(diào)器、打印機(jī)、掃描儀等。USB 虛擬串口通常由一個(gè) USB 轉(zhuǎn)串行適配器和一個(gè)驅(qū)動(dòng)程序組成。
并且虛擬串口通常沒有波特率要求,因?yàn)樗鼈兪擒浖?a href="http://www.1cnz.cn/analog/" target="_blank">模擬的串行通信接口,不依賴于物理硬件。然而,在實(shí)際應(yīng)用中,虛擬串口仍然需要遵守一些基本的通信協(xié)議,比如數(shù)據(jù)位、停止位和校驗(yàn)位等。
USB 虛擬串口的主要功能包括:
串行通信:USB 虛擬串口可以模擬串行通信接口,實(shí)現(xiàn)數(shù)據(jù)的串行傳輸。它支持各種串行通信協(xié)議,如 RS-232、RS-485 等。
傳輸可靠:傳統(tǒng)的串口連接線容易受到干擾,而 USB 虛擬串口采用的 USB 技術(shù)可以更好地抵抗干擾,提高了通信的可靠性。
串行控制:USB 虛擬串口可以控制串行通信參數(shù),如波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)等。它還支持串行通信的流控制和錯(cuò)誤處理。
使用方便:USB 虛擬串口無需再使用傳統(tǒng)的串口連接線,只需要一個(gè)標(biāo)準(zhǔn)的 USB 數(shù)據(jù)線即可連接計(jì)算機(jī)和外部設(shè)備,使得設(shè)備連接更加方便
USB 虛擬串口廣泛應(yīng)用于各種領(lǐng)域,如工業(yè)自動(dòng)化、物聯(lián)網(wǎng)、智能家居等。它為各種設(shè)備提供了便捷的串行通信解決方案,提高了系統(tǒng)的靈活性和可靠性。
6.2 虛擬通訊串口-端口位置說明
首先通過帶有 DM、DP 的 USB 數(shù)據(jù)線兩端連接 模塊 和 Windows7 及以上系統(tǒng)的電腦。
然后將模塊開機(jī),就可以從電腦的設(shè)備管理器中看到端口處多出來 4 個(gè) USB 端口。
驅(qū)動(dòng)裝好之后會(huì)枚舉出 4 個(gè) USB 接口,其中 LUAT USB Device 1 AT (COM6)為虛擬 AT 口,MODEM 為日志口,AP,和 CP 口為底層日志口
6.3 初始化 USB_UART
6.4 注冊(cè)接收數(shù)據(jù)的回調(diào)函數(shù)
6.5 發(fā)送數(shù)據(jù)
本文中字符串編碼格式為 UTF-8 編碼格式,SSCOM 串口調(diào)試工具的編碼格式為 GB2312,所以導(dǎo)致無法正確顯示字符串中的中文,需要注意。
6.5.1 發(fā)送普通字符串
6.5.2 發(fā)送十六進(jìn)制的數(shù)據(jù)串
6.5.3 發(fā)送 json 格式的數(shù)據(jù)
6.6 完整例程
代碼運(yùn)行結(jié)果:
七、多串口
7.1 簡(jiǎn)介
前面已經(jīng)介紹了串口的基本用法,本文將使用兩個(gè)串口(UART1、UART2)進(jìn)行分別通信的演示。
7.2 介紹多串口如何接線
大家可先跳轉(zhuǎn)至 3.5 介紹串口如何接線中查看單串口的接線說明,在學(xué)會(huì)了 UART1 接線和 UART2 接線后,只需將這兩個(gè)通用串口同時(shí)接上對(duì)應(yīng)位置即可。
7.3 初始化 UART1 串口和 UART2 串口
7.4 注冊(cè)接收數(shù)據(jù)的回調(diào)函數(shù)
7.5 發(fā)送數(shù)據(jù)
本文中字符串編碼格式為 UTF-8 編碼格式,SSCOM 串口調(diào)試工具的編碼格式為 GB2312,所以導(dǎo)致無法正確顯示字符串中的中文,需要注意。
7.5.1 發(fā)送普通字符串
7.5.2 發(fā)送十六進(jìn)制的數(shù)據(jù)串
7.5.3 發(fā)送 json 格式的數(shù)據(jù)
7.6完整例程
代碼運(yùn)行結(jié)果:
八、UART 電平
8.1 介紹 UART 電平
UART 電平是指串行通信中使用的電壓電平標(biāo)準(zhǔn)。常見的串口電平標(biāo)準(zhǔn)有 RS-232、TTL 和 RS-485 等。
1、RS-232 電平:RS-232 是一種常用的串口通信標(biāo)準(zhǔn),它使用負(fù)邏輯電平,即邏輯 1 用 -3V 到 -15V 表示,邏輯 0 用 +3V 到 +15V 表示。RS-232 電平適用于短距離、低速率的通信。
2、TTL 電平:TTL(Transistor-Transistor Logic)電平是一種常見的數(shù)字電路電平標(biāo)準(zhǔn),它使用正邏輯電平,即邏輯 1 用 +5V 表示,邏輯 0 用 0V 表示。TTL 電平適用于短距離、高速率的通信。
3、RS-485 電平:RS-485 是一種常用的串口通信標(biāo)準(zhǔn),它使用差分電平,即邏輯 1 用 +2V 到 +6V 表示,邏輯 0 用 -2V 到 -6V 表示。RS-485 電平適用于長(zhǎng)距離、高速率的通信。
在串口通信中,選擇合適的電平標(biāo)準(zhǔn)非常重要,它直接影響到通信的可靠性和穩(wěn)定性。
Air724UG 模塊的 UART IO 電壓默認(rèn)為 1.8V,如果要和 3.3V/5V 的 MCU 或其他串口外設(shè)通信,必須要加電平轉(zhuǎn)換電路
8.2 電平轉(zhuǎn)換參考電路設(shè)計(jì)
8.3 常見問題
1、串口電平電壓過低或過高可能會(huì)導(dǎo)致什么問題?如果電壓過低,可能會(huì)導(dǎo)致接收器無法正確識(shí)別信號(hào),如果過高,可能會(huì)導(dǎo)致信號(hào)損壞或損壞接收器。概述:可能會(huì)導(dǎo)致串口無法正常通訊,或通訊數(shù)據(jù)會(huì)突然出現(xiàn)亂碼,數(shù)據(jù)錯(cuò)亂等問題。
九、常見問題
9.1 模塊串口接收到亂碼是什么情況?
串口接收到亂碼通常是由于數(shù)據(jù)格式不匹配或信號(hào)干擾等原因引起的。以下是一些可能導(dǎo)致亂碼的情況及其解決方法:
1、波特率不一致 - 情況:發(fā)送方和接收方的波特率設(shè)置不同。- 解決:確保兩端的波特率設(shè)置一致。
2、數(shù)據(jù)位、停止位或校驗(yàn)位不匹配 - 情況:數(shù)據(jù)格式不一致,例如數(shù)據(jù)位數(shù)、停止位或是否使用校驗(yàn)位。- 解決:確認(rèn)發(fā)送和接收的設(shè)置一致。例如,常用設(shè)置為8個(gè)數(shù)據(jù)位、1個(gè)停止位、無校驗(yàn)。
3、信號(hào)干擾 - 情況:外部干擾導(dǎo)致信號(hào)失真。- 解決:使用屏蔽線纜,縮短線纜長(zhǎng)度,避免在電磁干擾強(qiáng)的環(huán)境中使用。
4、接線錯(cuò)誤 - 情況:TX(發(fā)送)和RX(接收)線接反。- 解決:檢查接線,確保正確連接。
5、設(shè)備未正確初始化 - 情況:發(fā)送設(shè)備未配置好,導(dǎo)致數(shù)據(jù)格式不正確。- 解決:檢查發(fā)送設(shè)備的初始化代碼和配置,確保正確設(shè)置。
6、緩沖區(qū)溢出 - 情況:接收端處理速度慢,導(dǎo)致數(shù)據(jù)被覆蓋。- 解決:提高接收端處理速度,或者增加緩沖區(qū)大小。
7、電源問題 - 情況:設(shè)備供電不足或不穩(wěn)定。- 解決:檢查電源供應(yīng),確保設(shè)備正常供電。
8、數(shù)據(jù)編碼不一致 - 情況:發(fā)送和接收使用不同的字符編碼(如ASCII與UTF-8)。- 解決:確保兩端使用相同的字符編碼。
9、物理連接問題 - 情況:接口接觸不良或線纜損壞。- 解決:檢查串口連接,確保接觸良好,必要時(shí)更換線纜。
10、串口驅(qū)動(dòng)問題 - 情況:驅(qū)動(dòng)程序不兼容或未正確安裝。- 解決:檢查并更新串口驅(qū)動(dòng)程序。
9.2 使用 RS485 連接模塊,出現(xiàn)漏發(fā),接收不到的情況是怎么回事?
出現(xiàn)漏發(fā)和接收不到的情況,大概率是因?yàn)槟K轉(zhuǎn)向時(shí)間設(shè)置的問題,模塊收不到數(shù)據(jù)可能是因?yàn)闆]有設(shè)置轉(zhuǎn)向腳,導(dǎo)致只能發(fā)不能收,出現(xiàn)漏發(fā)的情況,大概率是因?yàn)檗D(zhuǎn)向時(shí)間設(shè)置和設(shè)備的實(shí)際轉(zhuǎn)向存在偏差導(dǎo)致漏數(shù)據(jù)的情況,可以通過 uart.set_rs485_oe()接口調(diào)整轉(zhuǎn)向時(shí)間,通常 9600 波特率設(shè)置 3500us 的轉(zhuǎn)向時(shí)間。
9.3 模塊串口接收不到數(shù)據(jù)/模塊發(fā)的數(shù)據(jù)收不到?
如果出現(xiàn)模塊串口接收不到數(shù)據(jù)的情況,首先排查軟件方面邏輯是否寫的正確,可以按照 Uart 的 demo 進(jìn)行測(cè)試,如果 demo 也不行的話,排查下模塊端和設(shè)備端是否為 rx-tx,tx-rx 這樣的接法,避免 rx-rx,tx-tx,如果接線也都正常的話確定下波特率方面,如果有條件的話,可以直接通過邏輯分析儀/示波器檢測(cè)模塊的 rx/tx 腳看是否收到數(shù)據(jù)或者發(fā)送數(shù)據(jù)。
分享完畢。
-
通信協(xié)議
+關(guān)注
關(guān)注
28文章
879瀏覽量
40297 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44557瀏覽量
372757 -
uart
+關(guān)注
關(guān)注
22文章
1235瀏覽量
101354 -
模組
+關(guān)注
關(guān)注
6文章
1487瀏覽量
30360
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論