F28335 SPI 自发自收

/*
 *	This project is just for testing spi
 */

#include "DSP2833x_Project.h"

void Spi_xmit(Uint16 a);
void Init_Spi(void);

Uint16 rdata;
Uint16 tdata;

int main(void)
{
    InitSysCtrl();
    InitSpiaGpio();
    DINT;
    InitPieCtrl();
    IFR = 0x0000;
    IER = 0x0000;
    InitPieVectTable();

    Init_Spi();

    tdata = 0x0000;

    while(1){
        Spi_xmit(tdata);

        while(SpiaRegs.SPIFFRX.bit.RXFFST != 1);
            rdata = SpiaRegs.SPIRXBUF;

        tdata ++;
    }
	
    return 0;
}

void Init_Spi(void)
{
    EALLOW;

    SpiaRegs.SPICCR.all = 0x001F;
    SpiaRegs.SPICTL.all = 0x0006;
    SpiaRegs.SPIBRR = 0x001D;
    SpiaRegs.SPICCR.bit.SPISWRESET = 1;
    SpiaRegs.SPIPRI.bit.FREE = 1;

    SpiaRegs.SPIFFTX.all = 0xE040;
    SpiaRegs.SPIFFRX.all = 0x204F;
    SpiaRegs.SPIFFCT.all = 0x0;

    EDIS;
}

void Spi_xmit(Uint16 a){
    SpiaRegs.SPITXBUF = a;
}

猜你喜欢

转载自blog.csdn.net/qq_41926120/article/details/81624548