打印
[读写时序]

FFT变换

[复制链接]
1189|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xingyueliang|  楼主 | 2016-11-7 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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

粉丝