国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

單片機(jī)UART一對(duì)多:同時(shí)讀取多個(gè)傳感器基于modbus協(xié)議

這篇具有很好參考價(jià)值的文章主要介紹了單片機(jī)UART一對(duì)多:同時(shí)讀取多個(gè)傳感器基于modbus協(xié)議。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

背景

很多傳感器現(xiàn)在都做成了串口模塊,如激光測(cè)距傳感器TOF050,在開發(fā)時(shí)使用串口功能模塊不僅大大加快了我們的開發(fā)進(jìn)度,還能降低功能模塊直接的耦合度,專業(yè)是功能交給專業(yè)的模塊做,也能保證質(zhì)量。
一個(gè)串口接多個(gè)設(shè)備,嵌入式軟件開發(fā),單片機(jī),嵌入式硬件圖:TOF050激光測(cè)距模塊

以TOF050模塊為例,當(dāng)我們同時(shí)需要接4個(gè)激光測(cè)距模塊時(shí),顯然需要使用4個(gè)UART串口,分別讀取距離值,這限制了我們可以外接的模塊數(shù)量。
基于modbus協(xié)議,對(duì)UART串口進(jìn)行改造,就可以實(shí)現(xiàn)單個(gè)串口同時(shí)外接多個(gè)UART設(shè)備,互不干擾。

MODBUS協(xié)議介紹

modbus介紹可以參考如下:https://cloud.tencent.com/developer/article/1540241
簡(jiǎn)而言之,在串口中使用modbus協(xié)議,主機(jī)需要先發(fā)送要讀取的設(shè)備編號(hào),相應(yīng)設(shè)備編號(hào)的設(shè)備回傳主機(jī)要讀取的數(shù)據(jù),而不符合該設(shè)備編號(hào)的設(shè)備保持靜默狀態(tài)。在主設(shè)備讀取從設(shè)備時(shí),遵循下面的通信協(xié)議:
一個(gè)串口接多個(gè)設(shè)備,嵌入式軟件開發(fā),單片機(jī),嵌入式硬件

UART接口改一對(duì)多

參考如下鏈接:https://blog.csdn.net/Ajisa_i/article/details/124731439
UART為點(diǎn)對(duì)點(diǎn)通信,直接將多個(gè)從機(jī)的TX線接到主機(jī)的RX上,是不能通信的。原因如下:

  • 主機(jī)發(fā)送信息: 當(dāng)主機(jī)發(fā)送信息時(shí),由于主機(jī)TX上接了多個(gè)從機(jī)RX,每個(gè)RX都處于接收狀態(tài),因此都可以正常接收到TX發(fā)送的信息。
  • 從機(jī)發(fā)送信息: 當(dāng)從機(jī)發(fā)送信息時(shí),由于多個(gè)從機(jī)的TX連在了一起,當(dāng)其中一個(gè)從機(jī)TX發(fā)送信息時(shí),另一個(gè)從機(jī)的TX沒發(fā)送信息,沒發(fā)送信息的從機(jī)TX為空閑狀態(tài)處于高電平,會(huì)影響發(fā)送信息的從機(jī),導(dǎo)致從機(jī)TX無(wú)法發(fā)送信息到主機(jī)的RX。

因此需要做如下改造:
一個(gè)串口接多個(gè)設(shè)備,嵌入式軟件開發(fā),單片機(jī),嵌入式硬件

這樣改造后的原理是:

  • 當(dāng)從機(jī)都不發(fā)送信息時(shí),從機(jī)的TX端都為高電平,主機(jī)的RX端為弱上拉,因此主機(jī)RX處于等待接收狀態(tài)。
  • 當(dāng)從機(jī)1的TX發(fā)送信息時(shí),從機(jī)1的TX會(huì)首先發(fā)送一個(gè)低電平起始位,由于從機(jī)1的二極管上端RX為高電平,下端從機(jī)1的TX發(fā)送了一個(gè)低電平的起始位,因此二極管導(dǎo)通,TX端電壓為0V,則主機(jī)RX端收到的電壓為0V加二極管壓降0.26V。因此主機(jī)RX可以正確收到低電平信號(hào)。當(dāng)從機(jī)1的TX發(fā)送高電平時(shí),由于主機(jī)RX存在弱上拉,因此二極管不導(dǎo)通時(shí),RX端會(huì)收到高電平。
    注意注意注意:
    上拉電阻1K必不可少,如果不上拉,115200波特率時(shí)RX總線上波形如下:
    一個(gè)串口接多個(gè)設(shè)備,嵌入式軟件開發(fā),單片機(jī),嵌入式硬件
    加上1K上拉電阻之后,115200波特率時(shí),總線上電平如下:
    一個(gè)串口接多個(gè)設(shè)備,嵌入式軟件開發(fā),單片機(jī),嵌入式硬件

這樣,結(jié)合MODBUS協(xié)議,從機(jī)同時(shí)只會(huì)有1個(gè)在發(fā)送數(shù)據(jù),不會(huì)互相干擾。

其中,二極管的選型較為關(guān)鍵,如果選擇的二極管壓降較大,如為1.4V,則從機(jī)TX發(fā)送低電平時(shí),主機(jī)RX收到的電壓為1.4V,因此不能正常通信。二極管的速度也應(yīng)當(dāng)足夠快,才能滿足通信要求。
結(jié)合以上要求,二極管可以選用肖特基二極管SS14,其壓降只有0.26V,響應(yīng)速度10ns,實(shí)際測(cè)試,可以支持2Mbps的串口波特率。

參考鏈接

MODBUS協(xié)議介紹
UART改一對(duì)多文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-720873.html

到了這里,關(guān)于單片機(jī)UART一對(duì)多:同時(shí)讀取多個(gè)傳感器基于modbus協(xié)議的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 單片機(jī)傳感器類型一覽

    一、單片機(jī): c51、attiny85? ? arduino、stm8/stm32? ? esp8266、esp32、raspiberry pico 功能簡(jiǎn)單型:C51、Attiny85等 功能可以較復(fù)雜型:Arduino STM32 聯(lián)網(wǎng)、人工智能等高級(jí)復(fù)雜型:esp8266 esp32、pico 二、基礎(chǔ)元件(分為貼片式(SMT)和非貼片式): 晶振、電阻、電容、電感、led、開關(guān)、蜂鳴、

    2024年02月14日
    瀏覽(20)
  • 單片機(jī)——通信協(xié)議(UART協(xié)議解析篇)

    單片機(jī)——通信協(xié)議(UART協(xié)議解析篇)

    ????????在嵌入式系統(tǒng)設(shè)計(jì)中,UART通信是一種廣泛使用的串行通信協(xié)議,它通過(guò) 兩條信號(hào)線實(shí)現(xiàn)全雙工 的數(shù)據(jù)傳輸和接收。UART通信協(xié)議以其簡(jiǎn)單、靈活和易于集成的特點(diǎn),在嵌入式設(shè)備之間以及與外部設(shè)備進(jìn)行通信時(shí)發(fā)揮著重要作用。本文將詳細(xì)介紹 UART 通信的 工作原

    2024年02月04日
    瀏覽(18)
  • 基于51單片機(jī)溫濕度傳感器

    基于51單片機(jī)溫濕度傳感器

    DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,應(yīng)用領(lǐng)域:暖通 空調(diào);汽車;消費(fèi)品;氣象站;濕度調(diào)節(jié)器;除濕器;家電;醫(yī)療;自動(dòng)控制 相對(duì)濕度和溫度測(cè)量 全部校準(zhǔn),數(shù)字輸出 長(zhǎng)期穩(wěn)定性 超長(zhǎng)的信號(hào)傳輸距離:20米 超低能耗:休眠 4 引腳

    2023年04月10日
    瀏覽(21)
  • 【單片機(jī)】基于STM32的UART串口通信

    【單片機(jī)】基于STM32的UART串口通信

    簡(jiǎn)單講解一下UART通信協(xié)議,以及UART能夠?qū)崿F(xiàn)的一些功能,還有有關(guān)使用STM32CubeMX來(lái)配置芯片的一些操作。實(shí)驗(yàn)內(nèi)容基于 正點(diǎn)原子精英板 開發(fā)板,單片機(jī)芯片為 STM32F103ZET6 。 在后面我會(huì)以我使用的STM32F429開發(fā)板來(lái)舉例講解(其他STM32系列芯片大多數(shù)都可以按照這些步驟來(lái)操作

    2024年01月17日
    瀏覽(96)
  • 51單片機(jī)驅(qū)動(dòng)TCS3200顏色識(shí)別傳感器

    51單片機(jī)驅(qū)動(dòng)TCS3200顏色識(shí)別傳感器

    TCS3200顏色傳感器是一款全彩的顏色檢測(cè)器,包括了一塊TAOS TCS3200RGB感應(yīng)芯片和4個(gè)白色LED燈,TCS3200能在一定的范圍內(nèi)檢測(cè)和測(cè)量幾乎所有的可見光。TCS3200有大量的光檢測(cè)器,每個(gè)都有紅綠藍(lán)和清除4種濾光器。每種顏色濾光器均勻地按數(shù)組分布來(lái)清除顏色中偏移位置的顏色分

    2023年04月14日
    瀏覽(44)
  • 51單片機(jī)(DHT11溫濕度傳感器)

    51單片機(jī)(DHT11溫濕度傳感器)

    DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,應(yīng)用領(lǐng)域:暖通 空調(diào);汽車;消費(fèi)品;氣象站;濕度調(diào)節(jié)器;除濕器;家電;醫(yī)療;自動(dòng)控制 相對(duì)濕度和溫度測(cè)量 全部校準(zhǔn),數(shù)字輸出 長(zhǎng)期穩(wěn)定性 超長(zhǎng)的信號(hào)傳輸距離:20米 超低能耗:休眠 4 引腳

    2024年02月02日
    瀏覽(87)
  • 單片機(jī)采集傳感器數(shù)據(jù)(整形,浮點(diǎn)型)modbus上傳

    單片機(jī)采集傳感器數(shù)據(jù)(整形,浮點(diǎn)型)modbus上傳

    浮點(diǎn)型數(shù)據(jù) 占兩個(gè)寄存器(四個(gè)字節(jié)) short 整形 占一個(gè)寄存器 (兩個(gè)字節(jié)) 注意?。。?! stm32 是小端模式,而modbus解析數(shù)據(jù)是大端模式 所以先發(fā)送高字節(jié) 如int a=16777220,化為十六進(jìn)制是0x01?00 00 04, 則04屬于低字節(jié),01屬于高字節(jié) 例如float a=125.6? ? ?十六進(jìn)制0x42 fb 33 3

    2024年02月09日
    瀏覽(25)
  • s9keaz128 UART Bootloader 單片機(jī)篇(上)

    s9keaz128 UART Bootloader 單片機(jī)篇(上)

    網(wǎng)絡(luò)上充斥著各種各樣的串口升級(jí)方案,基本都是基于Y-Mode協(xié)議下載。采用這種升級(jí)方案學(xué)習(xí)還是可以,用在產(chǎn)品上還是有點(diǎn)欠缺。如下載完成后,需要把時(shí)間發(fā)送到設(shè)備就不好搞了。如下這個(gè)設(shè)備返回的信息,最后一項(xiàng)就是固件更新時(shí)間。 固件名稱 : KEA128 編譯時(shí)間 : 2022

    2024年02月22日
    瀏覽(23)
  • 【單片機(jī)】17-溫度傳感器DS18B20

    【單片機(jī)】17-溫度傳感器DS18B20

    (1)測(cè)溫度的方式:物理(汞柱,氣壓),電子(金屬電性能隨溫度變化) (2)早期:熱敏電阻(模擬接口---》 A/D轉(zhuǎn)換 ) (3)現(xiàn)代:專用sensor(數(shù)字接口,如I2C,DS18B20單總線接口等) DS18B20 可編程分辨率單總線 溫度傳感器 (1)內(nèi)置集成ADC,外部數(shù)字接口 (2) 單總線

    2024年02月04日
    瀏覽(22)
  • 51單片機(jī)溫度傳感器DS18B20

    51單片機(jī)溫度傳感器DS18B20

    實(shí)現(xiàn)功能 插上DS18B20溫度傳感器,數(shù)碼管顯示檢測(cè)的溫度值 單片機(jī)型號(hào):STC89C52 DS18B20介紹 1、DS18B20簡(jiǎn)介 DS18B20 是由 DALLAS 半導(dǎo)體公司推出的一種的“一線總線(單總線)”接口的溫度傳感器。與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它是一種新型的體積小、 適用電壓寬、與微處理

    2024年02月01日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包