<dfn id="u2o6b"><rp id="u2o6b"></rp></dfn>
<wbr id="u2o6b"><fieldset id="u2o6b"><menu id="u2o6b"></menu></fieldset></wbr>

  • <output id="u2o6b"><big id="u2o6b"></big></output>
    1. <center id="u2o6b"><tbody id="u2o6b"></tbody></center>
    2. <menuitem id="u2o6b"><sup id="u2o6b"></sup></menuitem>
        <rt id="u2o6b"></rt>
        女人色熟女乱,国产精品国产三级国av,色综合久久中文综合网,精品一区二区三区日韩版,无码精品人妻一区二区三区中,又粗又硬又黄a级毛片,四虎国产精品永久在线下载,色综合视频一区二区三区
      1. 串口波特率轉換的純軟件實現———串口波特率轉換的純軟件實現
        武漢波仕電子有限公司

                            武漢波仕電子有限公司 _孫漢華 http://www.bosika.com_   串口通信,就是RS-232/RS-485通信,要求通信的雙方波特率等通信格式一樣才可以通信成功。可是在許多情況下,兩種不同格式比如不同波特率的串口也要相互通信,這就必須進行串口波特率等格式的轉換。本文介紹了如何用純軟件實現串口波特率的轉換。 如果串口設備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口號碼為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的兩個串口進行波特率等格式的設置,而兩個串口在內部進行數據透明傳輸。這種產品就是硬件波特率轉換器,我們將以另外文章《串口波特率轉換的純硬件實現》予以介紹。

         
         
        網站首頁  |  關于我們  |  聯系我們  |  廣告服務  |  版權隱私  |  友情鏈接  |  站點導航
         
        主站蜘蛛池模板: 日韩人妻无码精品久久| 日韩av在线一区二区三区| 成人国产一级二级三级| 亚洲国产日韩a在线播放性色 | 亚洲一区二区中文av| 成人小说一区二区三区| jlzzjlzz欧美大全| 一区二区丝袜美腿| 亚洲AV日韩AV一区二区三曲| 曰韩三级无码久久探 | 肏屄视频在线观看| 三上悠亚ssⅰn939无码播放| 亚洲精品tv久久久久久久| 微拍福利导航| 亚洲精品tv久久久久久久| 精品无套挺进少妇内谢| 超碰免费在线观看| 国内视频一区| 久久精品视频九九店| 亚洲综合成人a在线| 国产日韩一区二区在线| 亚洲精品国产男人的天堂| 五月香蕉网| 99中文视频| 亚洲人成在线观看网站无码| 欧美人与zoxxxx另类| 亚洲综合区激情国产精品| 美女一区二区三区亚洲麻豆| 日本韩国国产精品视频| 三级网站在线| 国产伦码精品一区二区| 极品av在线播放| 精品无码人妻| 成人精品日本亚洲77777| 日韩内射美女人妻一区二区三区| 成人无遮挡裸免费视频在线观看| 国产精品一品二区三四区| 欧美黑吊大战白妞| 国内精品伊人久久久久影院对白| 99re在线| 91青青草视频在线观看|