重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
上面的代码看不出问题,如果初始化串口控件时已经注册了AxMSComm1_OnComm,有数据接收应该能触发,至于为什么没有触发,要看看你的接收方是否已经收到你的发出指令,是否已经有响应数据回发。
公司主营业务:成都网站制作、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出兰西免费做网站回馈大家。
建议分开调试,用一个通用的串口助手,如格西烽火串口助手之类的,分别调试你的上位机和下位机。格西烽火串口助手能轻松的定制如你上面的发送数据。
串口通信最终都是用二进制传输的,你用代码把二进制转化成十六进制就可以了。不需要额外设置。
用 数组
dim a(10) as byte
a(1)=h01
a(2)=h02
...
a(8)=h0a
MSComm1.Output = a
关于串口通讯的问题:
很明显,你还不知道(不会、不习惯)使用事件驱动的方式接收数据。
建议你仔细看看串口组件(无论VB6还是VB.net)的OnComm事件,你的问题很容易解决。
关于以太网通讯:
在TCP通讯中端口确实可以重用,你百度一下“TCP端口重用”能查到很多示例。
但绝大多数情况下不推荐端口重用,而应该采取服务器端建立连接池的方法。
或者,干脆不用TCP,用UDP解决也可以。
不知道你是不是用51单片机往串口发数据,是的话那是因为51的sbuf最多存放8个字节,所以你发12个字节会分成两次发完。还有在接收的时候最好定义好通信协议,比如加一个侦头,一个侦尾,通过这两个字节的内容来接收数据。
老兄,提问还是给点悬赏分嘛,不要吝啬哪点分,知识是无价的,你给得越多,回答你的人才会越多。