?? vb程序.txt
字號:
//---------------------------------------SComm控件的常用屬性和方法-----------------------------
Commport;設置或返回串口號。
SettingS:以字符串的形式設置或返回串口通信參數。
Portopen:設置或返回串口狀態。
InputMode:設置或返回接收數據的類型。
Inputlen:設置或返回一次從接收緩沖區中讀取字節數。
InBufferSize:設置或返回接收緩沖區的大小,缺省值為l 024字節。
InBufferCount:設置或返回接收緩沖區中等待計算機接收的字符數。
Input:從接收緩沖區中讀取數據并清空該緩沖區,該屬性設計時無效,運行時只讀。
OutBufferSize:設置或返回發送緩沖區的大小,缺省值為512字節。
OutBufferCount:設置或返回發送緩沖區中等待計算機發送的字符數。
Output:向發送緩沖區發送數據,該屬性設計時無效,運行時只讀。
設置好這些屬性和方法,程序很容易就可以編出來了,其中要注意的是串口的波特串設置,OnComm事件的程序編寫。
程序的設計是這樣的,計算機向單片機發送一個’S’,表示通信開始。然后緊接著又發送9個字符,其中最后一個字符是前面9個字符(包括’S’)的校驗和。單片機正確接收到10個字符后,把10個字符從新又送回來。
//---------------------------------------初始化串口設計-----------------------------
Private Sub Form_Load()
Comm1.Setting="9600,n,8,1," ’設置波特率和發送字符格式
Comm1.CommPort=1 ’設置通訊串口
Comm1.InputLen=0 ’設置或返回一次從接收緩沖區中讀取字節數,0表示一次讀取所有數據
Comm1.InBuffersize=512
Comm1.InBufferCount=0
Comm1.OutBufferCount=0
Comm1.Rthreshold=1
Comm1.PortOpen=True
End Sub ’打開串口
//--------------------------------------給單片機發送’S’,開始通信-----------------------------
Private Sub Command1_C1ick()
Timer1.Enabled=True
End Sub
Private Sub Command2_C1ick()
Varbuffet=“S”
Comm1.Ouput=varbuffe
Timer2.Enabled=True
End Sub
Private Sub Form_Unload(Cancel As Integer)
Comm1.PortOpen=False
End Sub
//---------------------------------------向單片機發送數據-----------------------------
Private Sub Timer2_ Timer()
Outputsignal=Str(Text2.text) '向單片機發送數據
Temp(1)=Cbyte(outputsignal)
Varbuffer=temp
Comml.Output=varbuffer
Timer2.Enabled=False
End Sub
//---------------------------------------接收單片機發送的數據,并顯示-----------------------------
Private Sub Comm1_OnComm()
Select Case Comm1.CommEvent '設置oncomm事件,讀取片機內存的值
Case comEvReceive
Inputsignal=comm1.Input
Text1.Text=Asc(Inputsignal) '單片機內存的值用textbox顯示出
Case Else
End select
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -