1200,8,n,1,这个不叫通讯协议呀
可以改成你串口设备
串口事件的捕捉推建用TIME控件
可以改成你串口设备
串口事件的捕捉推建用TIME控件
解决方案 »
- 打印的问题?在线等...
- 怎样检查MDI窗上打开有多少个窗体
- 问个简单的问题,vb怎么用ado连接远程oracle
- 高分!快来!我想用VB做一个类似于excel那样的表格,而且是可以点击表格就可以修
- 一个菜鸟的求助
- 各位:我想做一个浏览文件夹的东东像资源管理器左侧的目录一样,不知怎样才能实现
- 如何用VB判断汉字的拼音?
- 如何在PictureBox控件中画一个象按钮获得焦点的虚框?
- CSDN的帖子搜索有问题????????????????????????
- 女程序员的烦恼谁来解答???如何使用进程条progressbar
- 请问我在操作时偶尔会显示MSDN不存在,需要安装,是不是和我安装时的典型安装有关呀
- 大家好:有什么办法可以捕捉到comm1(串口)的所有事件
Private Sub MSComm_OnComm ()
Select Case MSComm1.CommEvent
Case comEventBreak
Case comEventFrame
Case comEventOverrun
Case comEventRxOver
Case comEventRxParity
Case comEventTxFull
Case comEventDCB Case comEvCD
Case comEvCTS
Case comEvDSR
Case comEvRing
Case comEvReceive
Case comEvSend
Case comEvEof
End Select
End Sub但是如果是鼠标串口,那是系统自动打开的,你不能再次打开,所以不能用MScomm32
也许直接读写I/O可以
COM2 数据278,控制2F8
' 保存输入子串的缓冲区
Dim Instring As String
' 使用 COM1。
MSComm1.CommPort = 1
' 9600 波特,无奇偶校验,8 位数据,一个停止位。
MSComm1.Settings = "9600,N,8,1"
' 当输入占用时,
' 告诉控件读入整个缓冲区。
MSComm1.InputLen = 0
' 打开端口。
MSComm1.PortOpen = True
End Sub'接收数据MSComm1.Input,有两种方法:
'1、事件驱动
' 缓冲区变化后,产生OnComm,响应时间并接收处理,适应于不等个数据包长或随时发送而不是定时发送,如:
Private Sub MSComm_OnComm ()
Select Case MSComm1.CommEvent
' Handle each event or error by placing
' code below each case statement' 错误
Case comEventBreak ' 收到 Break。
Case comEventCDTO ' CD (RLSD) 超时。
Case comEventCTSTO ' CTS Timeout。
Case comEventDSRTO ' DSR Timeout。
Case comEventFrame ' Framing Error
Case comEventOverrun '数据丢失。
Case comEventRxOver'接收缓冲区溢出。
Case comEventRxParity' Parity 错误。
Case comEventTxFull '传输缓冲区已满。
Case comEventDCB '获取 DCB] 时意外错误 ' 事件
Case comEvCD ' CD 线状态变化。
Case comEvCTS ' CTS 线状态变化。
Case comEvDSR ' DSR 线状态变化。
Case comEvRing ' Ring Indicator 变化。
Case comEvReceive ' 收到 RThreshold # of chars.
Case comEvSend ' 传输缓冲区有 Sthreshold 个字符 '
'
Case comEvEof ' 输入数据流中发现 EOF 字符
'
End Select
End Sub
'2、定时接收
Private Sub Timer1_Timer()
Buffer$ = MSComm1.Input
End Sub
'发送数据MSComm1.Output
Dim datas[10] as byte
Dim datasend
datas[1]=1
datas[2]=11
datas[3]=21
datas[4]=41
datas[5]=71
'.
'.
'.
datasend=datas
MSComm1.Output = "要发送的数据,可以是字符或二进制数据"
MSComm1.Output = datasend
'最后关闭串行端口。
MSComm1.PortOpen = False
--------------------------------------------------------------------------------