当前位置:编程学习 > VB >>

用VB做的串口通信程序,运行的时候偶尔死机怎么回事?

我用VB写的一个串口通信程序,运行的时候偶尔会死机,任务管理器也关闭不了,只能重启电脑才。请教应该怎么解决? --------------------编程问答-------------------- 原因:
1、代码问题,必须贴上你的代码一探究竟。
2、硬件问题,你使用的是什么串口?是不是USB转RS232的串口?劣质的转换器容易出现这类问题。

你自己排查一下吧
--------------------编程问答-------------------- 我还有一个问题是我有多个模块使用一个串口通信,如何实现才能避免产生冲突呢? --------------------编程问答--------------------
引用 1 楼  的回复:
原因:
1、代码问题,必须贴上你的代码一探究竟。
2、硬件问题,你使用的是什么串口?是不是USB转RS232的串口?劣质的转换器容易出现这类问题。

你自己排查一下吧

能不能帮忙解决一下通信冲突的问题,我有几个模块用一个串口,通信时总是产生冲突 --------------------编程问答--------------------
引用 3 楼  的回复:
引用 1 楼  的回复:

原因:
1、代码问题,必须贴上你的代码一探究竟。
2、硬件问题,你使用的是什么串口?是不是USB转RS232的串口?劣质的转换器容易出现这类问题。

你自己排查一下吧

能不能帮忙解决一下通信冲突的问题,我有几个模块用一个串口,通信时总是产生冲突


解决办法:
1、每个模块用完后都关闭串口
2、每个模块公用一个串口,串口不要关闭,收发完信息后立刻清空缓冲区

--------------------编程问答-------------------- 不应该会出现这个问题
你将通信代码放到Timer中,依次轮流读取各个模块,第一个没有完成通信,不进行第二个模块即可。这样冲突肯定避免。

此外,RS232的通信只能是一个串口对应一个下位机,多个下位机只能是RS485或者RS422方式。 --------------------编程问答--------------------
引用 5 楼 Veron_04 的回复:
不应该会出现这个问题
你将通信代码放到Timer中,依次轮流读取各个模块,第一个没有完成通信,不进行第二个模块即可。这样冲突肯定避免。

此外,RS232的通信只能是一个串口对应一个下位机,多个下位机只能是RS485或者RS422方式。
如果我要是每个模块公用一个串口,串口不关闭,RS232这个串口可以实现这个功能吗 --------------------编程问答-------------------- 多个模块公用一个串口,串口不关闭,这样实现没有问题,接收模块负责分发数据到指定模块即可。 --------------------编程问答-------------------- 至于死机的问题,可能是程序有问题,也可能是设备有问题,看一下串口线附近有没有高压电源线等等。
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,