日本福利一区_最近中文高清在线观看_免费黄色电影在线观看_亚洲天堂成人在线 - 91人人

用戶中心
· 企業空間 首頁 | 資訊 | 技術 | 產品 | 企業 | 直播 | 專題 | 智能制造 | 論壇| 在線研討會
武漢波仕電子有限公司
企業空間 > 案例應用 > 正文
  • 串口波特率轉換的純軟件實現
  • 發布時間:2012/2/24 14:48:27   修改時間:2012/2/24 14:48:27 瀏覽次數:2205
  •                     武漢波仕電子有限公司 _孫漢華 http://www.bosika.com_

     

    串口通信,就是RS-232/RS-485通信,要求通信的雙方波特率等通信格式一樣才可以通信成功??墒窃谠S多情況下,兩種不同格式比如不同波特率的串口也要相互通信,這就必須進行串口波特率等格式的轉換。本文介紹了如何用純軟件實現串口波特率的轉換。

    如果串口設備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)??梢赃x擇的COM口號碼為1到16號。COM串口號可以從操作系統的“設備管理器”只能夠的“端口”看到。波特率的可選擇范圍為:256000、128000、115200、57600、38400、28800、19200、14400、9600、 4800、2400、1200、600。校驗位可選擇:n(無)、o(偶)、e(奇)。數據位可選擇:8、7、6、5、4。停止位可選擇1和0。

    設置好串口格式后,按“打開串口”。注意A和B兩個串口都要打開。成功打開串口后會在“打開串口”按鈕的旁邊顯示紅色的圓圈?!按蜷_串口”按鈕下面為“清空計數”按鈕和本串口接收和發送數據的個數。正常情況下,由于串口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

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

  • 企業介紹
波士電子1993年創立于北京。波士電子致力于RS232/RS485產品的開發。 波士電子創造了許多種世界上第一的RS232/RS485產品,擁有數10項專利。 2007年:世界上第一個以太網-串口光纖轉換器:(OPET232L1) 2007年:世界上第一個USB-串口光纖轉換器:…  更多>>
  • 聯系方式

武漢波仕電子有限公司

聯系人:孫漢華

地址:關東科技工業園

郵編:430074

電話:027-87561487

傳真:027-87561486

公司網址:http://www.bosika.com

  • 該空間手機版

掃描此二維碼即可訪問該空間手機版

  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
您還沒有登錄,請登陸,
如果您還沒有注冊,點擊這里注冊.
  • 網友反饋
  • 孫紅杰 在2024/7/4 8:54:00留言
  • 留言類型:我想得到貴公司產品詳細資料,我想得到貴公司產品的價格信息,我讓貴公司產品銷售人員聯系我,我讓貴公司技術支持人員聯系我,
  • 詳細留言:需要USB轉串口的轉換器,能夠支持的最高速度是921600bps,穩定可靠,長時間不存在數據丟失和錯誤等問題。
  • 李孝浪 在2022/8/5 10:22:00留言
  • 留言類型:我想得到貴公司產品詳細資料,
  • 詳細留言:有沒有921600轉115200的波特率轉換器
  • Mike Ma 在2020/1/30 14:06:00留言
  • 留言類型:得到貴公司產品的價格信息,貴公司產品銷售人員聯系我,
  • 詳細留言:我要買20個無源CAN隔離器,可以給我報價嗎? 我公司是OSC Automation Engineering Blk 178 Edgefield Plains 09-224 Singapore 820178
  • 王力 在2014/12/15 18:05:00留言
  • 留言類型:貴公司產品銷售人員聯系我,
  • 詳細留言:我已經購買了貴公司的ARK-2120無風扇嵌入式工控機,除了你家我還看了: E+H:http://www.endress-h.com pilz:http://www.pilz-zh.com 邦納:http://www.banner-cn.com 穆格:http://www.moog-cn.com 穆格伺服閥:http://www.moog-cn.com 哈威:http://www.hawe-zh.com 力士樂:http://www.rexroth-zh.com 請問這些是正規的嗎?可以開發票嗎?
  • 湯慶 在2014/11/7 15:57:00留言
  • 留言類型:我想得到貴公司產品詳細資料,我讓貴公司產品銷售人員聯系我,我讓貴公司技術支持人員聯系我,
  • 詳細留言:能否將電話的音頻信號轉換成485信號傳輸?有沒有這樣的設備?
更多請進入空間管理中心查看
關于我們 | 網站地圖 | 聯系我們
© 2003-2018    經營許可編號:京ICP證120335號
公安機關備案號:110102002318  服務熱線:010-82053688
我要反饋