在启用DMA传输时,今天碰到过这样的情况,比如发送10个字节,实际数据是前面发的13579的数据,后面的数据则为0;测试接收,发现本来接收5个字节,实际上没接收完就进入回调了,而且也是有一个规律,就是实际发送的数据后带一个00字节。重新多次检查程序流程及调用没有问题,后面再思考,想想,发现DMA传输有几种传输机制,再验证,通过接收10个字节测试是否真的传输机制错误的问题,验证本来接收5个的,接收10个才是完整接收完正常数据,且都是正常数据后带00.确定现在是采用16位传输机制,重新检查下自己用的传输方式,发现是用的16位传输,改为8位传输,问题解决。 |