传输数据出错!

2019-07-20 22:22发布

本帖最后由 mengheli 于 2016-5-6 12:31 编辑

我是用ADC采样之后经过DMA传输,608个数据后进入DMA中断,将数据写入U盘,ADC采用触发模式(1us触发一次),写U盘期间不触发,采集的数是16位的,可是现在每隔1024个字节(有时候是512)就会出现错位,也就是512个数!这是为啥!情况如图,因为大小端没设置好,所以存储的高位是16位的高位,例如图片中的第一个数是008A,第二个是0FFF7。采集的是方波,所以数据应该是对齐的,可以看见从第1024个字节起,应该是00几几的地方变成了0F几几。为啥!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
mengheli
2019-07-21 15:03
本帖最后由 mengheli 于 2016-5-6 14:55 编辑
特朗姆斯 发表于 2016-5-6 14:01
根据现象我的推测是:

因为扇区大小是512个字节,写新的扇区前要擦除一遍新扇区的数据。这个擦除过程需 ...

那请问该如何解决那?而且如果是这样的话,那不应该总数对不上才对嘛,因为漏了数据,但实际上总数是对的。而且我是先申请的内存,然后通过DMA向其写入,应该不存在这个问题

一周热门 更多>