[读写时序] FFT变换

[复制链接]
 楼主| xingyueliang 发表于 2016-11-7 16:30 | 显示全部楼层 |阅读模式
请问AD7606转换之后,得到的是什么形式的二进制,DSP中能直接利用这种类型的数据形式吗,直接进行电压有效值的计算
fxmxh_ 发表于 2016-11-7 20:44 | 显示全部楼层
为什么没人回答?  
zhangmangui 发表于 2016-11-7 23:13 | 显示全部楼层
官方提供的代码
/********************************************************************************
Author : CAC (CustomerApplications Center, Asia)

Date : 2012-01-04

File name : AD7606.c

Description : test the serial port operation of AD7606

Hardware plateform : ADuC7026_DEMO_V1.2 + EVAL-AD7606EDZ_Rev.A1         
********************************************************************************/

#include "ADuC7026.h"
#include "ADuC7026Driver.h"
#include "AD7606.h"



void AD7606Initialization(void)
{
        ADuC7026DelayMs(1);
        ADuC7026OutputBit(AD7606_RESET, 0);
        ADuC7026OutputBit(AD7606_CS, 1);
        ADuC7026OutputBit(AD7606_CNVST, 1);
        ADuC7026OutputBit(AD7606_SCLK, 1);
        ADuC7026InputBit(AD7606_DOUTA);
        ADuC7026InputBit(AD7606_DOUTB);
        ADuC7026InputBit(AD7606_BUSY);
        ADuC7026DelayMs(1);
}

void AD7606Reset(void)
{
        ADuC7026OutputBit(AD7606_RESET, 1);
        ADuC7026DelayUs(1);
        ADuC7026OutputBit(AD7606_RESET, 0);
        ADuC7026DelayUs(1);
}

void AD7606ReadOneSample(unsigned short int *DoutA, unsigned short int *DoutB, unsigned char Channels)
{
        unsigned char j, k;
        unsigned short int TempA, TempB;

        unsigned char Busy;


        ADuC7026OutputBit(AD7606_CNVST, 0);
        ADuC7026DelayUs(1);
        ADuC7026OutputBit(AD7606_CNVST, 1);
        ADuC7026DelayUs(1);

        Busy=ADuC7026InputBit(AD7606_BUSY);

        while(Busy==1)
        {
                ADuC7026DelayUs(1);
                Busy=ADuC7026InputBit(AD7606_BUSY);
        }

        ADuC7026OutputBit(AD7606_CS, 0);

        for(j=0; j<Channels; j++)
        {
                TempA=0;
                TempB=0;

                for(k=0; k<16; k++)
                {
                        ADuC7026OutputBit(AD7606_SCLK, 0);

                        TempA=(TempA<<1) + ADuC7026InputBit(AD7606_DOUTA);
                        TempB=(TempB<<1) + ADuC7026InputBit(AD7606_DOUTB);

                        ADuC7026OutputBit(AD7606_SCLK, 1);
                }
               
                DoutA[j]=TempA;
                DoutB[j]=TempB;
        }

        ADuC7026OutputBit(AD7606_CS, 1);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

2

主题

3

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部