資源簡(jiǎn)介
AD7606基于DSP28335的SPI方式下的數(shù)據(jù)采集,資源已驗(yàn)證可以使用。
代碼片段和文件信息
#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;?????????????//?修改被保護(hù)的寄存器,修改前應(yīng)添加EALLOW語(yǔ)句
PieVectTable.XINT2?=?&BUSY_isr;
EDIS;???????????????//?EDIS的意思是不允許修改被保護(hù)的寄存器
SPI_Init();
StartAD7606();
????PieCtrlRegs.PIECTRL.bit.ENPIE?=?1;??????//?使能外設(shè)中斷擴(kuò)展PIE模塊
????PieCtrlRegs.PIEIER1.bit.INTx5?=?1;??????//?使能PIE組1的INT4
????IER?|=?M_INT1;
????EINT;
????ERTM;
for(;;)
{
Xsend();
while(SpiaRegs.SPIFFRX.bit.RXFFST? }
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
- 上一篇:ADV7441 Linux 驅(qū)動(dòng)源碼
- 下一篇:CAD圖紙解密
評(píng)論
共有 條評(píng)論