spi_test.c
来自「TMS320F2812DSP与ADS8361的接口程序」· C语言 代码 · 共 84 行
C
84 行
//0x0f 非自测模式,内部SIMO SOMI 不连接 ,需通过外部相连
#include "DSP28_Device.h"
//#include "DSP28_Spi.h"
unsigned int Spi_VarRx[100];
unsigned int i,j;
unsigned int Spi_ValueRx;
float Spi_Value;
interrupt void ISRSciaTx(void);
//interrupt void ISRSciaRx(void);
//interrupt void SPIRXINTA_ISR(void);
void main(void)
{
/*初始化系统*/
InitSysCtrl();
/* 关中断 */
DINT;
IER = 0x0000;
IFR = 0x0000;
/* 初始化PIE控制寄存器 */
InitPieCtrl();
/* 初始化PIE参数表 */
InitPieVectTable();
/* 初始化外设寄存器 */
InitPeripherals();
/* 初始化SPI模块 */
InitSpi();
for(i = 0; i < 100; i++)
{
Spi_VarRx[i] = 0;
}
i = 0;
j = 0;
#if Spi_Int
EALLOW; // This is needed to write to EALLOW protected registers
// PieVectTable.SPITXINTA = &ISRSciaTx;
// PieVectTable.SPIRXINTA = &ISRSciaRx;
EDIS; // This is needed to disable write to EALLOW protected registers
/* 设置IER寄存器 */
IER |= M_INT6;
#endif
/* 开中断 */
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
GpioDataRegs.GPACLEAR.bit.GPIOA15 = 1;// RD_CONVST置0 wait rising edge
ADS8361_CS(0);
ADS8361_M1(0);
ADS8361_M0(0);
GpioDataRegs.GPFDAT.bit.GPIOF14 =0; //LDAC rising edge
asm (" RPT #10 || NOP"); // 延时30个时钟周期
SpiaRegs.SPITXBUF = 0;
SpiaRegs.SPITXBUF = 0;
// GpioDataRegs.GPASET.bit.GPIOA15 = 1;// RD_CONVST置0 wait rising edge
ADS8361_RDCONVST(); //start convst
GpioDataRegs.GPFDAT.bit.GPIOF14 =1; //LDAC rising edge
GpioDataRegs.GPFDAT.bit.GPIOF14 =1; //LDAC rising edge
for(;;);
}
interrupt void ISRSciaTx(void)
{
PieCtrl.PIEACK.bit.ACK6 = 1;
// GpioDataRegs.GPFDAT.bit.GPIOF14 =0; //LDAC rising edge
EINT;
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?