硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2982|回复: 1
收起左侧

AD7606调试相关问题

[复制链接]

7

主题

61

回帖

82

积分

初级会员

积分
82
发表于 2017-1-11 00:51:38 | 显示全部楼层 |阅读模式
1 采数太快以后会有丢数现象,从FIFO读取数据顺序会乱!现象如下图
将一个指针指向一个8个数的数组 程序如下

怎么才能保证读取FIFO的时候不乱序呢???不然速度快了以后取出来的数都不能用了~
while(AD7606_HasNewData())
            {
                for(int i=0; i<8; i++)
                {
                    AD7606_ReadFifo(pFifo+i);
                }
                printf("Range = %d, OS = %d, ", g_tAD7606.ucRange, g_tAD7606.ucOS);
                printf("CH1 = %6d, CH2 = %6d, CH3 = %6d, CH4 = %6d, ",
                    ResultFifo[0], ResultFifo[1], ResultFifo[2], ResultFifo[3]);
                printf("CH5 = %6d, CH6 = %6d, CH7 = %6d, CH8 = %6d\r\n",
                    ResultFifo[4], ResultFifo[5], ResultFifo[6], ResultFifo[7]);
                // AD7606_HasNewData()
               
            }
2 采数太快以后,FIFO很快就会满,我就将FIFO扩大,扩大后又要报错。
请问这样的问你你们通常是怎么解决的呢?

数据丢了!!!

数据丢了!!!

FIFO报错

FIFO报错
回复

使用道具 举报

7

主题

61

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2017-1-11 00:53:30 | 显示全部楼层
补充一下,程序例子都是用的安富莱的~   自动采集  200k   以上问题只会暴露在速度过高的情况下,速度低的时候不会出现。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 16:13 , Processed in 0.040376 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表