關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > VB6.0環境下基于USB的虛擬串口通訊實現

        VB6.0環境下基于USB的虛擬串口通訊實現

        作者: 時間:2012-04-25 來源:網絡 收藏

        2.2 FT232BL電路設計
        根據設計規范,設備有總線供電和自供電2種方式。考慮到通訊功能僅在連接PC機時使用,所以,FT232BL芯片由USB總線供電,電路其他部分通過雙觸點開關的一個常開觸點連到USB總線電源正極上。典型硬件電路如圖3所示。采用上電復位方式,通過輸出可使單片機復位。時鐘電路采用1個6 MHz無源晶振及2個27 pF的陶瓷電容組成。PWREN腳與單片機的P1.7相連,用于判斷USB總線是處于掛起狀態還是正常狀態。在USB接口的電源端接一個磁珠,用以減少主機與設備的干擾;電源端增加了去耦電容和旁路電容,以提高電路的抗干擾性。在印刷電路板的設計中,2根串行數據線的走線應可能短,并且長度相等。圖3中的93C46(93C56或93C66)是一片電擦除只讀存儲器(E2PROM),用于存儲產品的VID,PID,設備序列號及一些說明性文字等。這需要用戶自己編寫,編寫的應用程序由FTDI公司提供。用戶只需運行相應的VB程序,寫入相應的信息即可。該電擦除只讀存儲器(E2PROM)是可選的。若沒有電擦除只讀存儲器(E2PROM),FT232BL將使用默認的VID,PID(進程標識符),產品描述符和電源描述符,并且沒有設備的序列號。

        本文引用地址:http://www.104case.com/article/202342.htm

        d.JPG



        3 上位機的軟件設計與編程
        3.1 驅動程序安裝
        當下位機連接到上位機的USB接口時,上位機會檢測到新硬件,這時需要安裝一個從FTDI公司網站上免費下載的(VCP)驅動程序。該驅動程序適用于Windows 98/2000/ME/XP等不同操作系統。用戶可以在這上進行應用程序的開發。該虛擬串口可以像一個標準的物理串口那樣被訪問,可本質上所有針對虛擬串口的數據通信都是通過USB總線完成的。
        3.2 上位機的軟件編程
        上位機軟件采用VB 6.0提供的串口通訊MSComm控件進行應用程序的編寫。MSComm控件提供了功能完善的串口數據的發送和接收功能,它有2種處理通信的方式:一種是事件驅動方式,當串口發生事件或錯誤時,MSComm控件會產生OnComm事件,程序可以捕獲該事件進行響應處理;另一種是查詢方式,在程序中查詢MSComm控件的CommEvent屬性的值是否發生變化,從而確定響應處理。
        3.2.1 虛擬串口的自動識別
        一般來說,上位機操作系統為FT232BL芯片分配的虛擬COM端口是不確定的,下位機連接到同一上位機的不同USB口,其虛擬COM端口號不同,下位機連接到不同的上位機,虛擬COM端口號更是無法確定。為了讓上位機能夠自動識別下位機連接的虛擬COM口,程序中采用了循環訪問各COM口的方式,如果該COM口是存在的則按照通訊協議向該端口發送“3CH”,如果該COM口不存在,則跳過,判斷下一個COM口。如果收到下位機回送的“3CH”,則說明通訊檢測成功。
        程序代碼如下:
        e.JPG

        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理


        鎖相環相關文章:鎖相環原理


        關鍵詞: VB6 USB 環境 虛擬串口

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 祁阳县| 朔州市| 文水县| 济源市| 翁牛特旗| 吴桥县| 明星| 哈巴河县| 海淀区| 汉阴县| 蒲城县| 青海省| 天等县| 常州市| 诏安县| 石柱| 韶关市| 广河县| 宁津县| 金昌市| 绿春县| 巴林左旗| 朝阳县| 茂名市| 长治市| 东至县| 张家界市| 云南省| 上饶市| 天全县| 偏关县| 晋州市| 封丘县| 临猗县| 若尔盖县| 无锡市| 盐边县| 安平县| 河津市| 交城县| 漠河县|