实在搞不定了,关于利用CommMG.au3串口通信的,请各位大神帮忙看看
看了很多的实例,源码,特别是“宅男公子”的源码自己写了一个:#include 'CommMG.au3'
Global $setport = 4
Global $sportSetError
Global $CmBoBaud = 115200
Global $CmboDataBits = 8
Global $SetParity = 0
Global $setStop = 1
Global $setflow = 0
$resOpen = _CommSetPort($setport, $sportSetError, $CmBoBaud, $CmboDataBits, $SetParity, $setStop, $setflow)
MsgBox(0,"状态",$resOpen)
MsgBox(0,"seterror",$sportSetError)
Global $Input1="AB CD 03 F1 00 01"
$SendText = StringStripWS( ( $Input1), 1 + 2)
$SendTextArray = StringSplit( $SendText, " ")
For $i = 1 To $SendTextArray
_CommSendByte( Dec($SendTextArray[$i]))
Next
运行后打不开串口,返回的$resOpen是0,$sportSetError提示Failed to open commg.dll。
运行“宅男公子”的源码完全没有问题,他的$sportSetError值就是空的,打开串口发送指令一切正常。为什么我的就不行,commg.dll 我也放到目录下面了。
宅男公子的源码地址:
http://www.autoitx.com/forum.php?mod=viewthread&tid=46132&highlight=%B4%AE%BF%DA 我没细看源码,因为我不太懂。
不过我说几个思路你跟着排查下,看是否对你有所帮助。
1、如果你直接运行它的源码没问题,那应该是你的程序编写的细节上有问题。尝试排除法测试解决。
2、你是否是64位系统?在脚本开头加上使用32位方式编译看看是否可以解决问题。 我没细看源码,因为我不太懂。
不过我说几个思路你跟着排查下,看是否对你有所帮助。
1、如果你直接运行它的源码没问题,那应该是你的程序编写的细节上有问题。尝试排除法测试解决。
2、你是否是64位系统?在脚本开头加上使用32位方式编译看看是否可以解决问题。 以前想过写类似的工具,没成功 commg.dll是32位的,只能编译时采用32编译可以,64位则打不开commg.dll。 这个错误我也之前在64位系统上编译时犯过!! 我有个帖子里面有通过com端口的udf,是别的网友在外国网站上面找到的!我测试可以用com口给modem发送数据来拨电话! 我有个帖子里面有通过com端口的udf,是别的网友在外国网站上面找到的!我测试可以用com口给modem发送数据来拨电话! 我有个帖子里面有通过com端口的udf,是别的网友在外国网站上面找到的!我测试可以用com口给modem发送数据来拨电话! 回复 2# nmgwddj
非常感谢,问题解决了,就是x64 编译的问题。 回复 8# ioripalm
能否提供一下 拨电话这个帖子的地址? 回复 10# wangyuc
http://www.autoitx.com/thread-43067-1-1.html
这里 帖子里有我最后写好的代码 和 UDF 有没有mscomm32.ocx的例子啊 不错学习学习。。。。。。。。。。。。。 學習了,感謝LZ分享。{:face (396):} 我来试试看吧
页:
[1]