首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
串口波特率轉(zhuǎn)換的純軟件實(shí)現(xiàn)
收藏本文     查看收藏
串口通信,就是RS-232/RS-485通信,要求通信的雙方波特率等通信格式一樣才可以通信成功。可是在許多情況下,兩種不同格式比如不同波特率的串口也要相互通信,這就必須進(jìn)行串口波特率等格式的轉(zhuǎn)換。本文介紹了如何用純軟件實(shí)現(xiàn)串口波特率的轉(zhuǎn)換。
如果串口設(shè)備1與串口設(shè)備2之間需要通信,但是它們之間的通信波特率不一樣。純軟件實(shí)現(xiàn)串口波特率的轉(zhuǎn)換的原理就是利用計算機(jī)的兩個串口,稱為串口A和串口B,分別設(shè)置為不同的波特率、不同的校驗(yàn)位、不同的數(shù)據(jù)位和不同的停止位。其中串口A按照串口A設(shè)置的波特率等格式接收數(shù)據(jù)立即從串口B按照串口B設(shè)置的波特率等格式發(fā)送出去,同樣串口B以串口B設(shè)置波特率等格式收到的數(shù)據(jù)立即從串口A以串口A設(shè)置的波特率等格式發(fā)送出去。
 
 

將計算機(jī)的串口A接設(shè)備1,串口A的通信波特率設(shè)置為設(shè)備1的波特率、校驗(yàn)位、數(shù)據(jù)位和停止位。將計算機(jī)的串口B接設(shè)備2,串口B的通信波特率設(shè)置為設(shè)備2的波特率、校驗(yàn)位、數(shù)據(jù)位和停止位。計算機(jī)必須至少有兩個RS-232串口,擴(kuò)展串口可以采用USB-串口轉(zhuǎn)換器等。這樣就實(shí)現(xiàn)了串口設(shè)備1與串口設(shè)備2之間的通信。

 

 

 

串口波特率轉(zhuǎn)換軟件的界面如圖。左邊分別是兩個串口的設(shè)置框,分別可以設(shè)置COM口的號碼、波特率、校驗(yàn)位、數(shù)據(jù)位、停止位,默認(rèn)的格式為(9600,N,8,1)?梢赃x擇的COM口號碼為116號。COM串口號可以從操作系統(tǒng)的“設(shè)備管理器”只能夠的“端口”看到。波特率的可選擇范圍為:256000、128000115200、57600、3840028800、19200、14400、9600、 4800、2400、1200600。校驗(yàn)位可選擇:n(無)、o(偶)、e(奇)。數(shù)據(jù)位可選擇:8、76、5、4。停止位可選擇10。

設(shè)置好串口格式后,按“打開串口”。注意AB兩個串口都要打開。成功打開串口后會在“打開串口”按鈕的旁邊顯示紅色的圓圈!按蜷_串口”按鈕下面為“清空計數(shù)”按鈕和本串口接收和發(fā)送數(shù)據(jù)的個數(shù)。正常情況下,由于串口A接收到的數(shù)據(jù)都立即發(fā)送給了串口B,所以串口A接收的計數(shù)與串口B發(fā)送的計數(shù)時一樣的。同理串口B接收的計數(shù)與串口A發(fā)送的計數(shù)時一樣的。

串口波特率轉(zhuǎn)換軟件的界面右邊為測試和檢測部分,正常工作時不需要操作。按“手動發(fā)送A串口”可以測試串口A的設(shè)置是否生效,是否可以正確與設(shè)備1通信,接收到的數(shù)據(jù)顯示在“接收區(qū)A”框內(nèi)。串口B的部分是同樣的功能。右下角有“字符格式”和“十六進(jìn)制”的選項(xiàng),默認(rèn)為“字符格式”。當(dāng)選擇“十六進(jìn)制”時,本軟件可以實(shí)現(xiàn)16進(jìn)制數(shù)據(jù)的格式轉(zhuǎn)換,特別適合MODBUS等工控軟件。

如果在軟件界面上只打開一個串口,比如串口A或者串口B,那么本軟件就是一個功能齊全的串口調(diào)試助手軟件,可以進(jìn)行每個串口的設(shè)置、數(shù)據(jù)收發(fā)等。

本軟件用Visual Basic軟件編寫,串口用MSCOMM控件實(shí)現(xiàn)。核心功能就是將Mscomm1接收的數(shù)據(jù)立即送到Mscomm2的發(fā)送區(qū)。難點(diǎn)在于對16進(jìn)制數(shù)據(jù)的轉(zhuǎn)換處理。

Mscomm的核心代碼如下:

Private Sub MSComm1_OnComm()

    Dim BytReceived() As Byte

    Dim strBuff As String

    Dim i As Integer

    Select Case MSComm1.CommEvent    '事件發(fā)生

            Case 2

           MSComm1.InputLen = 0     '讀入緩沖區(qū)全部內(nèi)容

            strBuff = MSComm1.Input  '讀入到緩沖區(qū)

            If MSComm1.InputMode = comInputModeBinary Then

            BytReceived() = strBuff  '如果是二進(jìn)制接收模式則進(jìn)行數(shù)據(jù)處理,否則直接顯示字符串

            For i = 0 To UBound(BytReceived)

             If Len(Hex(BytReceived(i))) = 1 Then

       strData = strData & "0" & Hex(BytReceived(i)) & " "

'如果只有一個字符,則前補(bǔ)0,如F顯示0F,最后補(bǔ)空格

                Else                      '方便顯示觀察如: 00 0F FE

                    strData = strData & Hex(BytReceived(i)) & " "

                End If

            Next

             Text1 = strData

              Call hexSend2          '  '發(fā)送一個16進(jìn)制

              strData = ""

 

        Else

            Text1 = Text1 & strBuff

           If MSComm2.PortOpen = False Then

           MsgBox "請打開串口B"

            End If

            On Error GoTo uerror3

            MSComm2.Output = strBuff

            Label14.Caption = Label14.Caption + Len(strBuff) '發(fā)送計數(shù)

           End If

       End Select

uerror3:  

  End Sub

本文介紹的串口波特率轉(zhuǎn)換的純軟件方法和程序,對不同格式之間的串口通信具有一定的使用價值。本軟件不僅僅實(shí)現(xiàn)了波特率的轉(zhuǎn)換,還同時實(shí)現(xiàn)了校驗(yàn)位、數(shù)據(jù)位和停止位的轉(zhuǎn)換。文中介紹的軟件可以從波仕電子的網(wǎng)站下載。純軟件波特率轉(zhuǎn)換的不足之處在于占用了一臺計算機(jī),并且必須配有兩個專門用于波特率轉(zhuǎn)換的串口。如果要實(shí)現(xiàn)方便簡單的波特率轉(zhuǎn)換,還是要用具有雙串口的單片機(jī)或者FPGA。通過對單片機(jī)或者FPGA的兩個串口進(jìn)行波特率等格式的設(shè)置,而兩個串口在內(nèi)部進(jìn)行數(shù)據(jù)透明傳輸。這種產(chǎn)品就是硬件波特率轉(zhuǎn)換器,我們將以另外文章《串口波特率轉(zhuǎn)換的純硬件實(shí)現(xiàn)》予以介紹


 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄
供應(yīng)信息

公司名稱: 武漢波仕電子有限公司
聯(lián) 系 人: 向麗
電  話: 027-18995634129
傳  真: 027-87561485
地  址: 武漢市洪山區(qū)關(guān)東科技園QQ:735568869
郵  編: 430000
主  頁:
 
該廠商相關(guān)解決方案:
波仕新光隔串口轉(zhuǎn)換器T485GL評測
串口光纖通信的組網(wǎng)方式
用OPET100L實(shí)現(xiàn)光纖遠(yuǎn)程USB口
如何正確選擇RS-232擴(kuò)展器
波士多串口卡多機(jī)通信應(yīng)用方案
RS485多機(jī)通信遠(yuǎn)程監(jiān)控方案
RS-232和RS-485信號超長距離通信解決方案
波仕光纖轉(zhuǎn)換器在變電站冗余監(jiān)測中的應(yīng)用
波仕轉(zhuǎn)換器的POS機(jī)聯(lián)網(wǎng)解決方案
RS-485多機(jī)通信的組網(wǎng)方式
波士2路RS-232/485集成轉(zhuǎn)換器的應(yīng)用
好靈通即時通信: 串口遠(yuǎn)程通信的革命
更多方案...
立即發(fā)送詢問信息在線聯(lián)系該解決方案廠商:
用戶名: 密碼: 免費(fèi)注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved