⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spi core driven.c

📁 ADI 公司的DSP ADSP21262 EZ-KIT LITE开发板的全部源代码
💻 C
字号:
/* SPI Control Registers                                  */
#define SPICTL  (0x1000)
#define SPIFLG  (0x1001)
#define SPIBAUD (0x1005)
#define TXSPI   (0x1003)

/*SPICTL bits                                             */
#define TIMOD1  (0x0001)  /* Use DMA for transfers        */
#define DMISO   (0x0020)  /* Disable MISO pin             */
#define WL32    (0x0100)  /* SPI Word Length = 32         */
#define SPIMS   (0x1000)  /* SPI Master if 1, Slave if 0  */
#define SPIEN   (0x4000)  /* SPI Port Enable              */

/*SPIFLG bits                                             */
#define DS0EN   (0x0001)  /* use FLG0 as SPI device-select*/

/* Default Buffer Length */
#define BUFSIZE 10

/* Transmit Buffer */
int tx_buf[BUFSIZE]=   {0x11111111,
                        0x22222222,
                        0x33333333,
                        0x44444444,
                        0x55555555,
                        0x66666666,
                        0x77777777,
                        0x88888888,
                        0x99999999,
                        0xAAAAAAAA};

/* Main code section */
main(){
int i;

/* Init SPI MASTER TX */
*(volatile int *)SPICTL = 0;
*(volatile int *)SPIFLG = 0;

/* set the SPI baud rate to CCLK/4*64 (781.25KHz @ 200MHz)*/
     *(volatile int *)SPIBAUD = 0x64;

/* Set up DAG registers */
*(volatile int *)SPICTL = DMISO|  /* Disable MISO on transfers */
         WL32|   /* 32-bit words */
         SPIMS|  /* Master mode (internal SPICLK) */
         SPIEN|  /* Enable SPI port */
         TIMOD1; /* Initialize SPI port to begin
                    transmitting when DMA is enabled */

/* Set up loop to transmit data */
for(i=0; i<sizeof(tx_buf); i++)
    *(volatile int *)TXSPI=tx_buf[i];
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -