新手上路
- 积分
- 26
- 金钱
- 26
- 注册时间
- 2018-3-27
- 在线时间
- 6 小时
|
我从2018-4-8到今天2018-4-10,三天的时间都在搞我所认为的奇怪的问题:DMA发送数据?发送缓存数组里的内容和串口发出来的数据总是对不上,老是有误码,而且误码率很高!开发板是我在淘宝买得出STM32F103的通信板。1. 我查看我的DMA发送配置是否得当,查看了n遍的中文参考手册,上网搜了n个帖子,没发现DMA配置的问题;
2. 然后我就屏蔽了其他函数的,单独测试这个DMA发送功能,对比了发出的数据和缓存数组的数据是一致的。我就开始怀疑是,是不是我的程序框架有问题,开始改的我的程序,添加了好几个多余的数组,继续下载调试,结果数据还是存在数据对不上的问题。
3. 问我的同事,他怀疑是不是程序运行中,DMA的配置会不会被修改了?在程序运行的过程中,打开DMA寄存器,和参考手册中寄存器介绍,一位一位的对,也没发现问题。
4. 今天下午,我实在找不到问题了,我想想换一块开发板试试。然后我就拿了正点原子的板子,也不用是什么232了,直接用TTL通信。下载调试,结果毫无问题!!!!!!当时就气得我直接去上个厕所压压惊!
结论:某宝的板子质量良莠不齐,万一买到不好的板子,会给你添很多的赌!!!当你花很多时间终于定位到你的问题的时候,你就会气到爆炸!所以一个好的开发板是做项目的一个重要保证!!!谨记!
Mark一下: 2018-4-10
附录:
还有一块板子,UART配置好了,老是发不出数据,后来定位到,单片机的Tx引脚虚焊!!!!!!!!当场晕厥
|
|