• 大小: 4KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签: AD7606  DSP28335  

资源简介

AD7606基于DSP28335的SPI方式下的数据采集,资源已验证可以使用。

资源截图

代码片段和文件信息

#include “DSP2833x_Device.h“     // DSP2833x Headerfile Include File
#include “DSP2833x_Examples.h“   // DSP2833x Examples Include File
#define N 4

void InitSpiGpioAD7606();
void SPI_Init();
void InitAD7606Gpio();
__interrupt void BUSY_isr(void);
void StartAD7606(void);
void delay();
void Xsend(void);
void Xread(void);
void Xswitch(void);
float rdata[N];
float rdata1[N];

int ji;

int main()
{
InitSysCtrl();
InitSpiGpioAD7606();
InitAD7606Gpio();

DINT;
IER = 0x0000;
IFR = 0x0000;

InitPieCtrl();
InitPieVectTable();

EALLOW;             // 修改被保护的寄存器,修改前应添加EALLOW语句
PieVectTable.XINT2 = &BUSY_isr;
EDIS;               // EDIS的意思是不允许修改被保护的寄存器


SPI_Init();
StartAD7606();

    PieCtrlRegs.PIECTRL.bit.ENPIE = 1;      // 使能外设中断扩展PIE模块
    PieCtrlRegs.PIEIER1.bit.INTx5 = 1;      // 使能PIE组1的INT4
    IER |= M_INT1;
    EINT;
    ERTM;


for(;;)
{

Xsend();

while(SpiaRegs.SPIFFRX.bit.RXFFST < N ){
}

Xread();
Xswitch();

delay();
delay();
GpioDataRegs.GPBDAT.bit.GPIO57 = 1;
GpioDataRegs.GPADAT.bit.GPIO4 = 1;

}
}

void InitSpiGpioAD7606()
{
EALLOW;

GpioCtrlRegs.GPBPUD.bit.GPIO55 = 0;
    GpioCtrlRegs.GPBPUD.bit.GPIO56 = 0;

    GpioCtrlRegs.GPBQSEL2.bit.GPIO55 = 3;
    GpioCtrlRegs.GPBQSEL2.bit.GPIO56 = 3;

    GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 1; // Configure GPIO55 as SPISOMIA
    GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 1; // Configure GPIO56 as SPICLKA
    GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 0;

//    GpioCtrlRegs.GPBDIR.bit.GPIO55 = 0;
//    GpioCtrlRegs.GPBDIR.bit.GPIO56 = 1;
    GpioCtrlRegs.GPBDIR.bit.GPIO57 = 1;

    //GpioDataRegs.GPBDAT.bit.GPIO57 = 0;

    EDIS;
}

void InitAD7606Gpio()
{
EALLOW;

// GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 0;

// Gpi

评论

共有 条评论