❶ 求助 串口通信出现帧错误,请指点
//创建一个串口通讯
SerialPort CurrentPort = null;
CurrentPort = new SerialPort();
CurrentPort.ReadBufferSize = 128;
CurrentPort.PortName = comName; //端口号
CurrentPort.BaudRate = bandRate; //比特率
CurrentPort.Parity =parity;//奇偶校验
CurrentPort.StopBits = stop;//停止位
CurrentPort.DataBits = databit;//数据位
CurrentPort.ReadTimeout = 1000; //读超时,即在1000内未读到数据就引起超时异常
//绑定数据接收事件,因为发送是被动的,所以你无法主动去获取别人发送的代码,只能通过这个事件来处理
CurrentPort.DataReceived += Sp_DataReceived;
CurrentPort.Open();
定义一个变量 byte[] receiveStr;
//绑定的事件处理函数
private static void Sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
SerialPort sp = sender as SerialPort;
if (sp == null)
return;
byte[] readBuffer = new byte[sp.ReadBufferSize];
sp.Read(readBuffer, 0, readBuffer.Length);
//赋值
receiveStr=readBuffer;//当然你可以通过转换将byte[]转换为字符串。
}
//你要求的按钮事件可以这么写
private void button1_Click(object sender, EventArgs e)
{
if(receiveStr!=null)
{
变量 xxx=receiveStr;
}
}
❷ 凯恩帝串口键盘通讯异常怎么处理
只在凯恩帝串口通信的设置先设置好波特率就可以了,
在编辑状态下 ,先输入一个程序名,在按输入,在从电脑传送过来。
❸ 与PLC连接错误,无法存取通信串口,当前串口不能被使用,可能被其他应用程序点用
应用程序错误问题:
1.木马病毒造成常用病毒捆绑应用程序和系统文件,然后安全杀毒软件把有木马病毒应用程序和系统文件查杀导致。
2.应用程序组件丢失,应用程序完整的运行需要一些系统文件或者某些ll文件支持,如果应用程序组件不完整也会导致的。
3.系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。
4.操作系统自身的问题,操作系统本身也会有bug 。
5.硬件问题,例如内存条坏了或者存在质量问题,或者内存条的金手指的灰尘特别多。
应用程序错误解决方法:
1.检查电脑是否存在病毒,请使用网络卫士进行木马查杀。
2.系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。建议:使用完整版或正版系统。
3.安装的软件与系统或其它软件发生冲突,找到发生冲突的软件,卸载它。如果更新下载补丁不是该软件的错误补丁,也会引起软件异常,解决办法:卸载该软件,重新下载重新安装试试。顺便检查开机启动项,把没必要启动的启动项禁止开机启动。
4.如果检查上面的都没问题,可以试试下面的方法。
打开开始菜单→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。
完成后,在输入下面
for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。
如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止(重启电脑)。
❹ USB转串口通信异常中断后如何重新自动建立连接
你好!
USB的串口,断开后,会重新分配地址,软件要要重新启动才行
❺ python 如何防止串口通信失败
Python中串口出现异常通常有:1.打开串口时,串口不存在,2.写串口时,3.读串口时。这几个异常是经常会碰到的(有经验的人就深有体会),一旦异常出现了,整个程序很可能会因此就运行不下去了。避免因为这些异常的出现而导致程序死机的方法是对这些可能存在的异常进行捕捉。举一个例子:
try:
ComDev.read(1)
print "read Com ok!"
except:
print "read Com error!"
上面的代码意思是:对ComDev这个串口对象读取一个字节,如果读成功,就接着执行print "read Com ok!"而不执行except以下的语句,如果读出现异常,就执行print "read Com error"而不执行
print "read Com ok!"
当然系统还会抛出异常信息,只是我这里没有进行接收,个人觉得很多异常不必接收其信息。
❻ java 串口通信modbus异常,那个问题,请问您怎么解决的
从提示信息来看 主要两点 第一点 串口通讯包 dll 和jar文件版本不匹配 第二点 没有new一个modbus对象
❼ 显示PLC通讯错误怎么处理
PLC显示通信错误,一般先检查PLC的通信参数配置是否正确,如果是串口通信的就检查串口号,波特率等,如果是网络通信的就检查IP地址是否配置好。通信参数没有问题的话,那就要坚持物理的通信线缆是否正常了。
❽ 串口通信问题,接收不到返回的消息
推荐 看
Visual C++_Turbo C串口通信编程实践
❾ 单片机之间串口通信异常
产品测:9600,e,8,2, 单片机测:9600,N,8,1
这很明显两者的通信模式不同,当然就不能正常通信了,产品的通信模式是两位停止位,可单片机只能有一位停止位,那个校验位,对于单片机倒是可以做到,可停止位不好解决。产品的通信模式能不能设置,最好设置成1位停止位。
❿ 串口通信端口号显示异常
首先必须保证电脑上有物理串口COM17,才能打开。虽然串口助手显示出COM17,但却打不开,才显示出一个乱码符号。
你的电脑怎么会有COM17呢?就算是虚拟串口,也不会排到COM17。
再说了,用串口助手是为了调试串口通信的,用图片有什么用,为什么非要显示一个图片呢,与串口通信毫无关系。网上的串口助手多的很。换个串口助手试试吗。