久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3731|回復: 0
收起左側

VB調入計算機存在的串口

[復制鏈接]
ID:51773 發表于 2013-7-13 00:21 | 顯示全部樓層 |閱讀模式
在單片機串口通信開發中,使用上位機的人機交互界面豐富了用戶體驗,也能相應的擴展功能,彌補單片機單一的任務處理能力。使用單片機串口通信,接口簡單,易于上位機編程的實現。如果在VisualBasic編寫串口通信程序中,實現自動調入計算機存在的串口的功能,能大大方便了用戶輕松的連接到想要的串口,這將是一個更好的用戶體驗。目的是使得用戶不用大費周章去尋找串口號。實現這一功能并不難實現,下面阿浩介紹這一種方法。
1.JPG

VB與串口VisualBasic可以打開16個串口,但是通常計算機只配置一個或者兩個串口,或者根本就沒有串口,這時就需要我們使用串口轉USB來支持。而且有時計算機的串口還可能被其他程序使用,因此,為了增強軟件使用的魯棒性,必須增加一段代碼,用語龐端本計算機可以利用的有效串口數,如果串口在使用,也應加入可使用的行列來,只是在使用過程中要考慮其是否已經被其他程序打開,為了用戶提示相應的信息。
關于VB編寫串口通信程序詳見 《PC機與單片機串行通信的實現》、《VB平臺下串口通信的實現》

程序調入串口的方法調入計算機可用的串口,簡單的方法是嘗試去打開那個串口。簡單來說,我們只需要對16個串口號進行逐個掃描。掃描的方法是:嘗試打開該串口,串口可以打開,則加入列表中去,供用戶連接;否則計算機不存在那個串口或者被其他程序占用時,VB將產生一個錯誤。

調入串口時錯誤的處理在調入串口的過程中,會產生一些錯誤。這時我們必須捕獲錯誤并解決掉,否則程序無法往下執行。如果串口存在并被其他程序占用,如已處于打開狀態,也會發生錯誤。我們需要編寫一段錯誤處理函數,當發生錯誤的時候,進入錯誤處理函數。

程序代碼:
'--------------------------------------------------------------------------'                            調入計算機存在的串口'版本:V1.0.2'程序設計:JH單片機'--------------------------------------------------------------------------Private Sub CommLoad()   On Error GoTo ErrLine   '如果錯誤,進入錯誤處理程序   Dim I As Integer        '定義可訪問的串口數   Dim Counter As Integer  '用于記錄經檢查可以使用的串口號   Counter = 0             '計數器清零   For I = 1 To 16         '循檢可能存在的16個串口     MSComm.CommPort = I   '將每個串口依次打開     MSComm.PortOpen = True                           '打開串口     If MSComm.PortOpen = True Then                   '如果打開成功,說明該串口可用       MSComm.PortOpen = False                        '檢查完畢,關閉串口       CboSerialPort.AddItem "COM" + CStr(I), Counter   '將可用串口增加到組合框內       Counter = Counter + 1                            '記數器加1     End If   Next I   CboSerialPort.ListIndex = 0          '將第一個可用串口設為默認值  Exit Sub        '跳出程序ErrLine:   If Err.Number = 8005 Then            '如果在處理過程中有串口被其它程序打開,則應將其加入組合框內      CboSerialPort.AddItem "COM" + CStr(I), Count  '將可用串口增加到組合框內      Counter = Counter + 1  '計數器加1   End If   Resume Next      '回到出錯入口處,繼續執行循檢串口程序!End Sub代碼簡述上述代碼利用Err函數進行串口檢查,首先對可能存在的16個串口進行掃描,逐個打開,如果串口能打開,說明其存在并且是空閑的,然后關閉該串口,將其加入端口號組合框內,并且計數器Counter加1,進行下一個端口掃描。反之端口不能打開,則會出現錯誤,轉入錯誤處理函數進行處理。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品久久久久久久久久久久久 | 色狠狠桃花综合 | 国产自产c区 | 国产精品不卡视频 | 在线欧美亚洲 | 亚洲一区二区电影网 | 亚洲精品视频一区 | 人人澡人人射 | 久草新在线 | 亚洲成人免费观看 | 日本在线视频中文字幕 | 亚洲精品成人 | av资源在线看 | 国产午夜精品一区二区三区嫩草 | 欧美综合一区 | 久久一二 | 又黑又粗又长的欧美一区 | 亚洲日日 | 国产精品久久久久久亚洲调教 | 亚洲一区久久 | 日本精品视频 | 日日人人 | 国产精品永久久久久 | 久久久久久国产精品 | 97国产一区二区 | 欧美专区在线 | 综合自拍| 99精品在线观看 | 日韩精品一区二区三区中文字幕 | 伊人久久综合影院 | 久久777 | 黄色在线免费观看视频网站 | 国产欧美日韩精品一区二区三区 | 亚洲一区二区免费 | 亚洲免费在线观看视频 | 麻豆国产一区二区三区四区 | 亚洲天堂网站 | 国产精品视屏 | 久久久久久久久久一区 | 蜜臀网| 日韩一区二区不卡 |