<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > VB6.0環(huán)境下基于USB的虛擬串口通訊實(shí)現

VB6.0環(huán)境下基于USB的虛擬串口通訊實(shí)現

作者: 時(shí)間:2012-04-25 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/202342.htm

d.JPG



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

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


數字通信相關(guān)文章:數字通信原理


通信相關(guān)文章:通信原理


鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


關(guān)鍵詞: VB6 USB 環(huán)境 虛擬串口

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>