再问串口问题:在校验为S校验的方式下,如何发送16进制数? 再问串口问题:在校验为S校验的方式下,如何发送16进制数? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 往传输缓冲区写数据流。该属性在设计时无效,在运行时为只读。语法object.Output [ = value ]Output 属性语法包括下列部分:部分 描述 object 对象表达式,其值是“应用于”列表中的对象。 value 要写到传输缓冲区中的一个字符串。 说明Output 属性可以传输文本数据或二进制数据。用 Output 属性传输文本数据,必须定义一个包含一个字符串的 Variant。发送二进制数据,必须传递一个包含字节数组的 Variant 到 Output 属性。正常情况下,如果发送一个 ANSI 字符串到应用程序,可以以文本数据的形式发送。如果发送包含嵌入控制字符、Null 字符等等的数据,要以二进制形式发送。数据类型Variant 是的发不出去的。我下载了一个串口调试软件,利用这个软件,把串口的校验设为S校验,选择发送方工为HEX,然后发送一个16进制数后就能驱动单片机,但我自已写了一个程序,按同样的设置发送就不好用,不知是怎么回事,是不是在S校验时发送数据的时候要经过什么处理啊 ? With MSComm1.Settings = "1200,n,8,1".RThreshold = 0'.SThreshold = 1.InputMode = comInputModeBinary'.InputLen = 1.OutBufferCount = 0 '清空发送缓冲区.InBufferCount = 0 '清空接收缓冲区'.NullDiscard = True'End WithIf MSComm1.PortOpen = False Then MSComm1.PortOpen = True '打开串口End IfDim kByte(1) As BytekByte(0) = &HFFMSComm1.Output = kByte ' Chr(255) 你设的校验为n不是s阿.Settings = "1200,n,8,1" <-????改为.Settings = "1200,s,8,1"试试 Dim kByte(1) As BytekByte(0) = &HFFkByte(1)=? 因为你并没有用kbyte(1),应为Dim kByte(0) As BytekByte(0) = &HFFMSComm1.Output = kByte ' Chr(255) 呵呵,不好意思,我没有用串口具体的编写过程序,但是我见有人这样发过:MsComm1.output=chr$("&H" & 12) 12为要发的十六进制数,我自己也不知道对不对,由大家来看看吧! 因[不能正确结贴]被封杀.............好幽默哦,不结贴的小心了,不正确也不行。 人民币求VB 实时曲线+历史曲线源代码 对ORACLE数据库一数据进行更新后。。怎么实现这条数据的查找。。 怎样用VB实现SSL socket 通信? 大量VB源码,示例下载,欢迎访问源码东西 高手在哪里!!!!!!!!!,解决我的问题要多少分,给多少分!!!!!该出手时就出手!!!!!! 哪位高人能修改textbox控件的行间距?在线等候,马上给分 有挑战的api问题 如何设置打印机页大小 线程怎么总是死掉,大家进来帮帮忙! 专家未解决的问题 仿制VB的工具箱面板,请教高手
object 对象表达式,其值是“应用于”列表中的对象。
value 要写到传输缓冲区中的一个字符串。
说明Output 属性可以传输文本数据或二进制数据。用 Output 属性传输文本数据,必须定义一个包含一个字符串的 Variant。发送二进制数据,必须传递一个包含字节数组的 Variant 到 Output 属性。正常情况下,如果发送一个 ANSI 字符串到应用程序,可以以文本数据的形式发送。如果发送包含嵌入控制字符、Null 字符等等的数据,要以二进制形式发送。数据类型Variant
我下载了一个串口调试软件,利用这个软件,把串口的校验设为S校验,选择发送方工为HEX,
然后发送一个16进制数后就能驱动单片机,但我自已写了一个程序,按同样的设置发送就不好用
,不知是怎么回事,是不是在S校验时发送数据的时候要经过什么处理啊 ?
.Settings = "1200,n,8,1"
.RThreshold = 0
'.SThreshold = 1
.InputMode = comInputModeBinary'.InputLen = 1
.OutBufferCount = 0 '清空发送缓冲区
.InBufferCount = 0 '清空接收缓冲区
'.NullDiscard = True
'
End With
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '打开串口
End IfDim kByte(1) As Byte
kByte(0) = &HFF
MSComm1.Output = kByte ' Chr(255)
.Settings = "1200,n,8,1" <-????
改为
.Settings = "1200,s,8,1"
试试
kByte(0) = &HFF
kByte(1)=?
Dim kByte(0) As Byte
kByte(0) = &HFF
MSComm1.Output = kByte ' Chr(255)
MsComm1.output=chr$("&H" & 12) 12为要发的十六进制数,我自己也不知道对不对,由大家来看看吧!