大家好
我现在需要做一个project
内容是
用vb的mscomm透过rs232去连结单片机,型号是pic16f690,用pickit2 starter kit写程序
而这块单片机是驳上电路当通电时,单片机就发一个讯息,使vb开始计时
断电时就能使vb停止计时那么, 那块单片机和rs232应该是怎样连接
pic16f690 和vb 的程序又是怎么写?
谢谢大家!
我现在需要做一个project
内容是
用vb的mscomm透过rs232去连结单片机,型号是pic16f690,用pickit2 starter kit写程序
而这块单片机是驳上电路当通电时,单片机就发一个讯息,使vb开始计时
断电时就能使vb停止计时那么, 那块单片机和rs232应该是怎样连接
pic16f690 和vb 的程序又是怎么写?
谢谢大家!
左近也在搞单片机的上位机程序
用到了mscomm控件,论坛里关于它的使用很多,也很全
你搜一就有了
不知vb你用过没,如果用过操作mscomm就会容易些了
我也是看别人的例子学得
呵呵,简单例子有一个,只是模型,,具体的还要看你自己想怎么用了Private Sub Form_Load()
Dim BufferCount As Integer, NowBaudRate As Integer
Port = "1"
'设置串口属性, 打开串口
MSComm2.CommPort = 1 '设置或返回端口号,值为1到16的整数,PC通常可以有16个串口
MSComm2.InBufferSize = 1024 '设置接收缓冲区的大小
MSComm2.Settings = "115200,n,8,1" '设置并返回通讯参数,值为字符串String行
MSComm2.InputLen = 0 '设置或返回,从接收缓冲区读取的字符数,0时(默 '读取缓 冲区全部字符
MSComm2.RThreshold = 1 '接收区的“门阀值”,0时(默认),不产生OnComm事件;1时,接收缓冲区每接收到一个字符,都会产生OnComm事件
MSComm2.SThreshold = 1 '发送区的“门阀值”,0时(默认),不产生OnComm事件;1时,发送缓冲区每接收到一个字符,都会产生OnComm事件
MSComm2.InBufferCount = 0
MSComm2.PortOpen = True '通讯时,必须打开串口,应用程序完成时,MSComm控件自动关闭串口
MSComm2.InputMode = comInputModeText '以文本方式取回传入的数据,既comInputModeText = 0End SubPrivate Sub MSComm2_OnComm() '串口事件
Dim str1 As Currency, str2 As Variant, i As IntegerSelect Case MSComm2.CommEvent
Case comEvSend '1 串口有发送
........... Case comEvReceive '2 串口有接收 ..................
End Select
End Select
End Sub
如果我的單片機會發兩個訊息給VB
例如一個是 "a" , 另一個是 "b"當發送 "a" 或 "b" 時, vb 裡的text1 能顯示相對應的"a" 和 "b"這應該怎樣寫?
如果我的单片机会发两个讯息给VB
例如一个是 "a" , 另一个是 "b" 当发送 "a" 或 "b" 时, vb 里的text1 能显示相对应的"a" 和 "b" 这应该怎样写?
Dim Ip() As Byte
Dim Tmp As String
Dim Rec_ccitt As String
Select Case MSComm1.CommEvent
Case comEvReceive
Ip = MSComm1.Input
For i = LBound(Ip) To UBound(Ip)
If Len(Hex(Ip(i))) = 1 Then Buf = Buf & "0"
Buf = Buf & Hex(Ip(i))
Next
End Select
text1.text=Buf
End Sub
如果当 单片机没有再发讯号给vb
那么vb就可以会一个动作这样应怎样写呢??
谢谢大家