处理个串口问题

今天工作需要有个串口的设备连着电脑要调试一下

照文档想着应该挺简单的,我先用串口调试工具测试一下命令,看文档说要用16进制发送消息

用工具发送没有什么问题一切正常,然后就打开我们自己写代码的工具了,就是没有效果,刚开始因为不支持16进制,这个添加一下还是挺简单,不过稍微花点时间就可以了

开始正式执行时竟然没有反应,没办法还装了个监控看串口数据的,看了数据也是一样的

试了好多次对比了好多次都是一样的,调试助手的可以有返回,我们自己的工具就是不行

想着估计是哪里设置错了

这是原来的代码用C#写的
SerialPort sp = new SerialPort("COM12", 9600, Parity.None, 8);
sp.ReceivedBytesThreshold = 1;
sp.ReadBufferSize = 4096;
sp.Handshake = Handshake.RequestToSend;
sp.Parity = Parity.None;
sp.ReadTimeout = 30000;
sp.WriteTimeout = 30000;
sp.RtsEnable = true;

后来调整了 sp.Handshake = Handshake.RequestToSend; 把这代码注释了就可以了,不过还断线,这估计是我们自己代码写的有问题了

后来找到了断线的地方问了同事为什么这样设置的,后来根据需要调整了

一切就OK了


标签: 其它(7)
友情链接
轻松育儿世界奇观
苏ICP备16066217号-2