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

📄 spi.c

📁 spi_boot_example.tar.gz可以为大家在使用 Cirrus logic的ARM9芯片是提供帮助
💻 C
字号:
#include <regs.h>#include <io.h>#include <boot.h>#define SSPCR0		0x808A0000#define SSPCR1		0x808A0004#define SSPDR		0x808A0008#define SSPSR		0x808A000c#define SSPCPSR		0x808A0010#define SSP_BUSY	  	(1<<4)#define SSP_RX_FIFO_NOT_EMPTY	(1<<2)#define SSP_TX_FIFO_EMPTY	1u32 read_spi_word(u32 adr){    u32 a,b,c,d;        //send out the read command    OUT32(3, SSPDR);    OUT32(((adr>>16) & 0xff), SSPDR);    OUT32(((adr>>8) & 0xff), SSPDR);    OUT32((adr & 0xff), SSPDR);    OUT32(0, SSPDR);    OUT32(0, SSPDR);    OUT32(0, SSPDR);    OUT32(0, SSPDR);    //wait for transmit completion    while( (IN32(SSPSR) & SSP_BUSY) );    IN32(SSPDR);    IN32(SSPDR);    IN32(SSPDR);    IN32(SSPDR);    a=IN32(SSPDR);    b=IN32(SSPDR);    c=IN32(SSPDR);    d=IN32(SSPDR);        return (d<<24)|(c<<16)|(b<<8)|(a<<0);}

⌨️ 快捷键说明

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