串口初始化如下:
Private Sub Init_Comm1()
On Error Resume Next
If Serialcheck_Port1 = True Then
Comm1.CommPort = 1
ElseIf Serialcheck_Port2 = True Then
Comm1.CommPort = 2
Else
Comm1.CommPort = 1
End If
Comm1.Settings = "19200,n,8,1"
Comm1.InBufferCount = 0 '接收缓冲区清空
Comm1.OutBufferCount = 0 '发送缓冲区清空
Comm1.InputMode = comInputModeBinary '以二进制格式接收数据
Comm1.RThreshold = 0 '每接受一个字节符将产生OnComm事件
If Comm1.PortOpen = False Then '打开串口
Comm1.PortOpen = True
Else
Comm1.PortOpen = True
End If
End Sub
============================================================
我用下面命令发送16进制,但单片机什么都接收不到。
Comm1.Output = &H41
=============================================================
我用Comm1.Output = "A",接收到的却是81H.Why?注:我使用的是伟富仿真器。
Private Sub Init_Comm1()
On Error Resume Next
If Serialcheck_Port1 = True Then
Comm1.CommPort = 1
ElseIf Serialcheck_Port2 = True Then
Comm1.CommPort = 2
Else
Comm1.CommPort = 1
End If
Comm1.Settings = "19200,n,8,1"
Comm1.InBufferCount = 0 '接收缓冲区清空
Comm1.OutBufferCount = 0 '发送缓冲区清空
Comm1.InputMode = comInputModeBinary '以二进制格式接收数据
Comm1.RThreshold = 0 '每接受一个字节符将产生OnComm事件
If Comm1.PortOpen = False Then '打开串口
Comm1.PortOpen = True
Else
Comm1.PortOpen = True
End If
End Sub
============================================================
我用下面命令发送16进制,但单片机什么都接收不到。
Comm1.Output = &H41
=============================================================
我用Comm1.Output = "A",接收到的却是81H.Why?注:我使用的是伟富仿真器。
解决方案 »
- Word表格存入数据库问题!
- 一个奇怪而又容易的数据查询问题,解决及结贴
- 同一个程序在同一台机器上只允许被同时打开一个
- 两个基础问题,谢谢!
- 关于共享软件注册中心的问题!
- 对于动态创建窗口(而不是控件),有没有类似 WithEvents 的东西
- 求救!!用VB.Net读取Excel文件中的数据并显示在DataGridView控件上(Button-Click事件)
- 请教adodb.Stream对象的用法(最好有源码).
- 我很高兴,我的问题有这么多热心人解答,分数不是问题,希望和大家做朋友,可是分数怎么给你们了?
- 请高手指教!! 请问如何让AVI在播放时自动适应picturebox控件的大小?
- 一个关于网络打印的棘手问题?
- 画线的问题
这样就可自发自收,便于你调试程序估计接收到的数据不对多半是出在 mscomm 控件的参数上
但可能我经验有限,我也看不出你上面参数哪个错了
你端口号\发送方式\端口状态等好象都没有问题
不知会不会是 错误校验 引起的
但如果错误校验引起问题的话你收到的数据也就不会是 81H了
还是弄个串口头再仔细调试一下吧附:
mscomm控件的默认参数如下:
通用:
通讯端口:1
设置参数:9600,n,8,1
握手协议:0
缓存:
......
硬件:
校验错替代字符:?
NULL禁止
RTS有效
DTR有效其中最容易出问题的是通用项中的端口、联接参数(包括波特率及联接方式等)
还有硬件项中的校验错替代字符建议选择正确的串口号、将校验错替代字符的?删掉,不要用任何字符
然后调试联接参数