vb编程中的mscomm控件问题?

我想问的是mscomm中的属性中只有output可以发送数据吗发送的数据有没有限制大小!下面的一段代码有什么错误啊发送到串口中不行啊PrivateSubCommand1_... 我想问的是mscomm中的属性中只有output可以发送数据吗 发送的数据有没有限制大小! 下面的一段代码有什么错误啊 发送到串口中不行啊 Private Sub Command1_Click() Dim b As String b = Chr(&H24) & Chr(&HFF) & Chr(&H16) & Chr(&HEA) & Chr(&H80) & Chr(&H0) & Chr(&H12) & Chr(&H34) & Chr(&HC5) & Chr(&H23) MSComm1.PortOpen = True MSComm1.Output = b MSComm1.PortOpen = False End Sub 展开
 我来答
创作者tJISGv0wk8
2020-01-02 · TA获得超过3614个赞
知道大有可为答主
回答量:3142
采纳率:34%
帮助的人:222万
展开全部
因为你定义的b是一个String的变量,Chr(&HEA)
Chr(&H80)
Chr(&HC5)等一些大于等于128字符在转换为char类型时会出现错误.
你这样修改看看行不行
Private
Sub
Command1_Click()
Dim
b(9)
As
Byte
b(0)=&H24
b(1)=&HFF
b(2)=&H16
b(3)=&HEA
b(4)=&H80
b(5)=&H0
b(6)=&H12
b(7)=&H34
b(8)=&HC5
b(9)=&H23
MSComm1.PortOpen
=
True
MSComm1.Output
=
b()
'这里一定是b(),
这样才能传输整个数组,这里应该是传址
MSComm1.PortOpen
=
False
End
Sub
我现在在外地出差,没有测试是不是成功.
原来使用的都是一个串口通讯的.dll,是用VC写的,用VB调用的时候,如果参数是String型的时候,Ascii码大于128时就会出现错误,后来我调用Byte的数组就可以了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式