首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界麵 | 運動控製
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式係統 | PC based | 機櫃箱體殼體 | 低壓電器 | 機器視覺
串口波特率轉換的純軟件實現
收藏本文     查看收藏
串口通信,就是RS-232/RS-485通tong信xin,要yao求qiu通tong信xin的de雙shuang方fang波bo特te率lv等deng通tong信xin格ge式shi一yi樣yang才cai可ke以yi通tong信xin成cheng功gong。可ke是shi在zai許xu多duo情qing況kuang下xia,兩liang種zhong不bu同tong格ge式shi比bi如ru不bu同tong波bo特te率lv的de串chuan口kou也ye要yao相xiang互hu通tong信xin,這zhe就jiu必bi須xu進jin行xing串chuan口kou波bo特te率lv等deng格ge式shi的de轉zhuan換huan。本ben文wen介jie紹shao了le如ru何he用yong純chun軟ruan件jian實shi現xian串chuan口kou波bo特te率lv的de轉zhuan換huan。
如果串口設備1與串口設備2之間需要通信,但是它們之間的通信波特率不一樣。純軟件實現串口波特率的轉換的原理就是利用計算機的兩個串口,稱為串口A和串口B,分別設置為不同的波特率、不同的校驗位、不同的數據位和不同的停止位。其中串口A按照串口A設置的波特率等格式接收數據立即從串口B按照串口B設置的波特率等格式發送出去,同樣串口B以串口B設置波特率等格式收到的數據立即從串口A以串口A設置的波特率等格式發送出去。
 
 

將計算機的串口A接設備1,串口A的通信波特率設置為設備1的波特率、校驗位、數據位和停止位。將計算機的串口B接設備2,串口B的通信波特率設置為設備2的波特率、校驗位、數據位和停止位。計算機必須至少有兩個RS-232串口,擴展串口可以采用USB-串口轉換器等。這樣就實現了串口設備1與串口設備2之間的通信。

 

 

 

串口波特率轉換軟件的界麵如圖。左邊分別是兩個串口的設置框,分別可以設置COM口的號碼、波特率、校驗位、數據位、停止位,默認的格式為(9600,N,8,1)。可以選擇的COM口號碼為116號。COM串口號可以從操作係統的“設備管理器”隻能夠的“端口”看到。波特率的可選擇範圍為:256000、128000、115200、57600、38400、28800、19200、14400、9600、 4800、2400、1200、600。校驗位可選擇:n(無)、o(偶)、e(奇)。數據位可選擇:8、7、6、5、4。停止位可選擇10

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

串口波特率轉換軟件的界麵右邊為測試和檢測部分,正常工作時不需要操作。按“手動發送A串口”可以測試串口A的設置是否生效,是否可以正確與設備1通信,接收到的數據顯示在“接收區A”框內。串口B的部分是同樣的功能。右下角有“字符格式”和“十六進製”的選項,默認為“字符格式”。當選擇“十六進製”時,本軟件可以實現16進製數據的格式轉換,特別適合MODBUS等工控軟件。

如果在軟件界麵上隻打開一個串口,比如串口A或者串口B,那麼本軟件就是一個功能齊全的串口調試助手軟件,可以進行每個串口的設置、數據收發等。

本軟件用Visual Basic軟件編寫,串口用MSCOMM控件實現。核心功能就是將Mscomm1接收的數據立即送到Mscomm2的發送區。難點在於對16進製數據的轉換處理。

Mscomm的核心代碼如下:

Private Sub MSComm1_OnComm()

    Dim BytReceived() As Byte

    Dim strBuff As String

    Dim i As Integer

    Select Case MSComm1.CommEvent    '事件發生

            Case 2

           MSComm1.InputLen = 0     '讀入緩衝區全部內容

            strBuff = MSComm1.Input  '讀入到緩衝區

            If MSComm1.InputMode = comInputModeBinary Then

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

            For i = 0 To UBound(BytReceived)

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

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

'如果隻有一個字符,則前補0,如F顯示0F,最後補空格

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

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

                End If

            Next

             Text1 = strData

              Call hexSend2          '  '發送一個16進製

              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) '發送計數

           End If

       End Select

uerror3:  

  End Sub

benwenjieshaodechuankoubotelvzhuanhuandechunruanjianfangfahechengxu,duibutonggeshizhijiandechuankoutongxinjuyouyidingdeshiyongjiazhi。benruanjianbujinjinshixianlebotelvdezhuanhuan,haitongshishixianlexiaoyanwei、shujuweihetingzhiweidezhuanhuan。wenzhongjieshaoderuanjiankeyicongboshidianzidewangzhanxiazai。chunruanjianbotelvzhuanhuandebuzuzhichuzaiyuzhanyongleyitaijisuanji,bingqiebixupeiyoulianggezhuanmenyongyubotelvzhuanhuandechuankou。ruguoyaoshixianfangbianjiandandebotelvzhuanhuan,haishiyaoyongjuyoushuangchuankoudedanpianjihuozheFPGA。通過對單片機或者FPGA的兩個串口進行波特率等格式的設置,而兩個串口在內部進行數據透明傳輸。這種產品就是硬件波特率轉換器,我們將以另外文章《串口波特率轉換的純硬件實現》予以介紹


 

狀 態: 離線

公司簡介
產品目錄
供應信息

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

關於我們 | 聯係我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved