㈠ 基於PROTEUS軟體,單片機與VB的串口通信純軟體模擬問題怎麼解決
1.VB 不能工作報什麼錯誤?
2.還有一個需要說明你用的是不是同一個斷口啊,同一時刻,相同埠只能被一個進程打開。
3.最好的模擬辦法是單片機部分使用一個埠,比如埠1,VB使用一個埠,比如埠2,然後在電腦端用一根線把1和2埠的2,3針短接,這樣就相當於把埠1作為下位機了。當然也可以下載虛擬串口軟體,用軟體在電腦內部虛擬連接起來,起到相同的效果。
有什麼疑問繼續探討
㈡ vb與單片機通訊問題
可以做到,我覺得,如果你有了想法在有條件的情況下,先做,遇到問題在想去問別人。在自己做的過程中可以學到很多經驗,從來得到更適合自己的方法。
1,奇偶校驗方法,建議使用TB8,RB8,如果你要放到位元組里,也不是不可以,但在計算的時候,不能計算奇偶校驗位本身。這樣做的畫可以考慮真個數據包一起效驗。
2,建議通碼明老訊地址放在通訊開始標識後面,這樣從機反映會可以做快些。槐隱
3,不管多簡單的協議,建議都有,開始標志,地址,命令,長度,數據,效驗,結束標志。
哪怕是一個數據位都可以,這樣,比較有調理點,會減少很多數據誤傳的遲升問題。
㈢ VB環境下使用MSComm實現PC機與單片機的通信程序
MSComm1.CommPort=3'這里搞一個你的電腦上沒有的串口號,例如我的電腦沒有串口3
MSComm1.PortOpen=True
MSComm1.PortOpen=FalseExitSubComm_Error:
If(Err.Number=comPortInvalid)Then
MsgBox"無效的串口號!"&Chr(13)&Chr(10)&"錯誤代碼:"&comPortInvalid&Chr(13)&Chr(10)&"錯誤原因:你的人品有問題。",vbOKOnly+vbCritical,"串口錯誤"ElseMsgBox"其它錯誤。錯誤號:"&Err.Number,vbOkOnly+vbCritical,"串口錯誤"EndIfExitSubResumeNextEndSub
在窗體上放一個MSComm1的控制項,然後在程序中就可以使用上面的代碼了。這段代碼演示了一個無效串口號的運行效果。
你可以將上面的代碼改成自己所需要的代碼,或者做得更通用一些~~~~~~例如,設置一個輸入參數,
以及返回結果。
PrivateFunctionTest_COM1(nAsInteger)AsInteger
OnErrorGoToComm_Error
MSComm1.CommPort=n'這里接收傳入的串口號
MSComm1.PortOpen=True
MSComm1.PortOpen=False
Test_COM1=0'如果操作成功,則說明當前串口可用,返回0,表示串口可用ExitSubComm_Error:
MsgBox"無效的串口號!"&Chr(13)&Chr(10)&"錯誤代碼:"&comPortInvalid&Chr(13)&Chr(10)&"錯誤原因:你的人品有問題。",vbOKOnly+vbCritical,"串口錯誤"ElseMsgBox"其它錯誤。錯誤號:"&Err.Number,vbOkOnly+vbCritical,"串口錯誤"EndIfTest_COM1=Err.Number'如果出錯,則返回錯誤代碼ExitSubResumeNextEndSub
㈣ 如何使用VB6來編寫一個軟體或界面再用USB線來實現與單片機通訊,用到USB線的話,VB6中要用到哪些控制項
VB6裡面沒有專門的USB控制項,我也不知道你用的什麼單片機,普通的單片機是沒有USB功能的,稍微高級的一點ARM是有的,這就比較悲催。
早先以前,我們一個項目恰恰也是這種要求,我當時的解決方案是這樣的:
1,把單片機上的串口通過晶元轉換,轉換成USB,然後電腦的操作系統就能夠能過USB設備識別出虛擬的串口。
2,用VB編寫上位機軟體,其實就是對虛擬的串口進行讀寫操作。
所以,其本質仍然是串口對串口的通信 ,只是中間經過了一次USB的轉換而已。
我們當時用的是CHT340,這種方案比較麻煩的是,你要先在上位機裝次驅動才行
㈤ 用vb如何設計控制單片機的程序
一般只用串口通信對單片機控制。
如果單片機有USB控制器就可以USB去控制。這個相對比較復雜。
不過現在大部分都是通過串口發命令的。