||||
今天在调试接收机和控制器的通信时,接收机程序总是出现崩溃。具体表现是:
电脑上利用虚拟串口软件vspdconfig将串口1和串口2连接起来后。运行接收机程序,并选择一个端口2,并打开。然后再打开控制器程序(控制器程序的通信端口是1),这时接收机程序就会弹出BUG,程序被强制结束。
刚开始估计是控制器程序与接收机程序使用了相同的串口,产生了冲突。但仔细检查了程序,两个程序打开的串口并不相同。
后来又怀疑是vspdconfig的问题,但打开两个串口调试助手进行通信测试,并没有异常。再单独用一个串口调试助手程序与接收机程序进行测试,接收机程序同样弹出BUG。
最后经过在接收机程序里设置断点,一步一步的调试,终于发现错误出现在串口的消息响应函数里面,判断消息类型时出错了,把串口打开消息弄成了串口收到数据消息。将其改正过来,错误消失。
这样一个小错误,让我调试了大半天!主要是刚开始怀疑是外部环境
的问题,在外部找原因,浪费了大量时间。如果早在程序内部设置断
点找问题,问题早就解决了。以后还是先从自己程序内找问题吧!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-6-3 04:18
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社