碰到一个很奇怪的事情,用C#自带的串口类,实例化对象后,注册数据回调事件,然后,按照通信原则,设置好相关的数据格式,打开串口,然后发送。发送是成功的,这个在助手上测试过,因为有返回数据,所以能显示出来。但是同理,用c#发送的时候,它连触发接收事件都没有。
然后,自己有开始用多线程延迟处理,发现读到的数据长度始终是0长度,而发送明明是成功的啊。搞了一下午还是没弄明白,或许初次用C#搞,也是第一次做,经验不足,希望各位大虾们帮助一下,感激不尽啊
------解决思路----------------------
必须发送字节数组
后面的发送方式是对的,但是你内容和上面字符串的内容也不符啊
字符串里以353500结尾
后面字节数组里
0x30,0x31,0x03,0x40};是要闹哪样
------解决思路----------------------
虽然,C#的串口用起来很方便。但有几次做项目,确实有问题。
你再多调试调试,实在不行,再换组件。
------解决思路----------------------
bushound,硬件调试的最佳助手。
------解决思路----------------------
串口高手啊 我有问题 另开帖子了 拜托
------解决思路----------------------
首先确认指令是否正确,如果不正确,当然不会触发事件。我记得。net的字节流的高低编码和很多其他平台是反的。如果是这样,发送的数据肯定就不对了。
------解决思路----------------------
16进制和字符串是有区别的,楼主发送的东东明显弄错格式了.
------解决思路----------------------
串口通信就是不容易把握,你多试几种方法,如果有可能的话,看看硬件官方有没有提供可参考的程序,以前遇到过一个项目,就是官方提供的示例程序,拿过来就好用!