本人曾做过与串口的通信工程,对串口也算有一定的了解,可是这次遇到的问题比较特殊。
现象如下:
1、与测量仪器通信时,我的程序能传数据到仪器,但仪器返回的数据就是收不到;
2、奇怪的地方是:当发送指令后没接收到数据,在本程序中关闭串口后,用串口调试精灵打开该串口时,数据接收到了。
3、用ser232Mon监视串口,发现本程序把数据送到缓冲区后,接收缓冲区无字符;
4、用串口调试精灵发送相同指令,ser232Mon立即接收到返回数据;思考和试解决过程:
1、既然通信仪器接发数据正常,排除线路、协议、本程序发送指令的问题;检查MSComm控件设置无问题;
2、我开始以为是本程序发送指令后,仪器有硬件握手协议,致使仪器想要传送给PC,却认为PC未准备好,从而未传送,可是再想也不对:为什么串口精灵可以收到呢?
3、除了串口调试精灵外,我下载了一些其它的串口调试工具,有的可以收到数据,有的也和我的程序一样收不到数据;不知道哪位仁兄有好的思路或有过类似的经历,希望得到您的指导,谢谢!
现象如下:
1、与测量仪器通信时,我的程序能传数据到仪器,但仪器返回的数据就是收不到;
2、奇怪的地方是:当发送指令后没接收到数据,在本程序中关闭串口后,用串口调试精灵打开该串口时,数据接收到了。
3、用ser232Mon监视串口,发现本程序把数据送到缓冲区后,接收缓冲区无字符;
4、用串口调试精灵发送相同指令,ser232Mon立即接收到返回数据;思考和试解决过程:
1、既然通信仪器接发数据正常,排除线路、协议、本程序发送指令的问题;检查MSComm控件设置无问题;
2、我开始以为是本程序发送指令后,仪器有硬件握手协议,致使仪器想要传送给PC,却认为PC未准备好,从而未传送,可是再想也不对:为什么串口精灵可以收到呢?
3、除了串口调试精灵外,我下载了一些其它的串口调试工具,有的可以收到数据,有的也和我的程序一样收不到数据;不知道哪位仁兄有好的思路或有过类似的经历,希望得到您的指导,谢谢!
解决方案 »
- 操作VC2008RibbonUI时,怎么动态修改Category的文本?
- 我的3个线程接收20M,用了150秒,cpu占用率为5%-15%,平均速率为133kBytes/s,BT速率可轻松上500KBytes/s,我这个socket算不算慢亚
- 高分了,送分了, 关于CTreeCtrl的小问题
- 请教!
- _CommandPtr->Execute方法中的Parameters应该怎么用?
- 哪能找到《深入解析ATL》
- 快被OVERLAY搞死了,急救
- CListBox,的复选功能,是否可以在数据前添加对号,如何添加????高分!!!
- 购买软件
- 俺问个土问题:visual Assist的用法。
- 关于数字字母转换为ASCII码并进行截取
- 在Group Box 上面放上 文本框和编辑框,运行时无法显示文本框和编辑框了
1、设置没问题
2、应该和超时时间没关系,我轮询2秒都收不到,因为用SER232MON发现接收缓冲没数据,而在打开串口调试助手的一刹那竟然缓冲区就收到了回复数据