点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的专家,
我已经处理了好几个星期,但仍然找不到使它起作用的方法。
我想使用下面的代码从连接到串行端口的设备读取响应。
创建对象O_OBJ'MSCOMMLIB.MSCOMM.1' O_OBJ的SET属性" commport" = COMMPORT。 O_OBJ"设置"的设置属性=设置。 SET属性o_obj'InputLen'= 0。 O_OBJ的输入属性'InputMode'= 1。 O_OBJ的SET属性'DTREnable'= 1。 设置O_OBJ'RTSEnable'的属性= 1。 O_OBJ的SET属性'Rthreshold'= 0。 设置O_OBJ'握手'的属性= 1。 设置O_OBJ'EOFEnable'的属性= 1。 设置O_OBJ'portopen'的属性= 1。 通话功能'HR_KR_XSTRING_TO_STRING' 出口 in_xstring = lv_xstring 输入 out_string = lv_string。 "发送到mscomm "写入串口 O_OBJ的SET属性"输出" = lv_string。 "从串口读取 数据strmsg类型字符串。 做10次。 o_obj的属性'InBufferCount'= wa_buffer。 如果wa_buffer> 0。 获得o_obj'Input'的属性= strmsg。 万一。 ENDDO。
但是我只能以某种方式获得输入的第一部分(mscomm)
输入字符串为(从设备到串行端口的响应):
01000000000000000000000000 P3
但是我得到的只是
其余的字符串都消失了。
请咨询。
我尝试将strmsg类型更改为xstring,x,但仍然无法正常工作。
将inputlen设置为4。
问题已解决。
使用输入二进制,类型x仅返回无穷的00000。
使用
'InputMode'= 0,NullDiscard = 0,什么都没有改变
没有用。
还是谢谢大家。
这很奇怪,因为我必须设置输入属性
o_obj'InputLen'的设置属性= 20
现在我可以看到整个字符串,尽管仍然有些丢失。
我认为将其设置为0会捕获全部内容。
我没有com设备,因此我只能猜测其与MSComm1.RThreshold相关... 您可以检查线程 或查看此VB6 演示程序。
一周热门 更多>