我在调试后台的时候遇到了问题: 后台发送1~14或31~46个或63~64个数据给下位机时,下位机都能将数据回传给后台,而后台发送的数据个数不在这些范围之内时,下位就无法正确回传数据,用CH372DBG调试也同样出现上述情况,特来请教高手,谢谢啦
那你读取到的数据长度就不正确还是读取数据的时候出现问题?还有就是你的工作电压是多少?如果是5V的话需要注意下抗干扰的问题,如果是3。3V的话,那么需要仔细看下你的时序以及并口的速度问题等等。都可能引起通信出现问题
(1)确认是上位机无法下传这些数据,还下位机无法上传这些数据 (2)用CH372DBG下传时,单片机能否收到,如果收不到的话,那么得检查下位机程序 另,CH372DBG下传数据格式:112233,表示下传3个数据0x11,0x22,0x33,中间没有空格
上位机给下位机发送数据个数在1—14个或31—46个或63-64个这三个范围内数据传送和数据回传都是正确的,而其他范围内数据传送和数据回传都是错误的
和您说说了,估计在某一根信号线上面存在干扰。
用CH372DBG调试的时候,也会出现上述情况,部分数据都是错的,长度有时候也不对(数据长度在以上三个范围内不会出现错误情况)
的确是干扰问题,谢谢提供帮助
硬件已经做好了,很难更改,软件上有没有什么抗干扰的好办法呢
如果确定是干扰的问题的话,那么只能降低速度来看下可以不可以了,如果不行的话那只能飞线解决问题了。
奇怪的是我连续发送N组64个数据,返回的数据都不会有问题
也不能排除是软件的问题,这样测试,你通过USB接口把数据下发,然后通过串口进行数据监视,长时间通讯看看数据有没有错误,如果没有错误的话说明硬件基本上问题不大,还是软件这边没有处理好。另外2楼已经告诉如何使用CH372DBG,不要用你的软件,确保PC软件是正确的。