我通过MSCOMM控件向下位机发送“FA 00 00 00”
应该能显示出来数据 请问为什么都触发不了ON COMM 事件?
如何发送带空格的字符串??

解决方案 »

  1.   

    1
    >我通过MSCOMM控件向下位机发送“FA 00 00 00”
    >应该能显示出来数据下位机是如何识别这些数据的?
    是当作 4 个字节 16 进制数,还是 11 个字符的 ASCII 码?
    如果是前者,你必须:
    str1 = "FA 00 00 00 "
    for i=0 to 3
       buff(i) = val("&H" & mid(str1, i*3+1, 2))
    nexti
    mscomm1.output = buff2
    >请问为什么都触发不了ON COMM 事件?mscomm1.Sthreshold = 1若设置 Sthreshold 属性为 0(缺省值),数据传输事件不会产生 OnComm 事件。若设置 Sthreshold 属性为 1,当传输缓冲区完全空时,MSComm 控件产生 OnComm 事件。如果在传输缓冲区中的字符数小于所设置的值,CommEvent 属性设置为 comEvSend,并产生 OnComm 事件。comEvSend 事件仅当字符数与 Sthreshold 交叉时被激活一次。例如,如果 Sthreshold 等于 5,仅当在输出队列中字符数从 5 降到 4 时,comEvSend 才发生。如果在输出队列中从没有比 Sthreshold 多的字符,comEvSend 事件将绝不会发生。3
    >如何发送带空格的字符串??同样要看下位机通讯协议。
    如果是字符协议,你上面的就可以。如果是字节协议,发 &H20。