|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2012-6-24 17:17:11
|
显示全部楼层
void spiWrite(uchar Wbyte)
{
uchar i;
for(i=0;i<8;i++)
{
SPI_sck=0;
if((Wbyte<<i)&0x80){SPI_si=1;}
else{SPI_si=0;}
SPI_sck=1;
}
}
uchar spiRead(void)
{
uchar i,rbyte=0;
for(i=0;i<8;i++)
{
SPI_sck=0;
rbyte<<=1;
rbyte|=SPI_so;
SPI_sck=1;
}
return rbyte;
}
#define FREQ_LOW
#ifdef FREQ_LOW
#define RD_ARRAY 0x03
#else
#define RD_ARRAY 0x0B
#endif
#define BLOCK4_ERASE 0x20 //块擦除(4 KB )
#define BLOCK32_ERASE 0x52 //块擦除(32 KB)
#define BLOCK64_ERASE 0xD8 //块擦除(64 KB)
#define ERASE_BLOCK_TIME 851100 // 400ms
#define WR_PAGE_TIME 100000 // 1.2ms
#define WR_BYTE_TIME 250
#define CHIP_ERASE 0x60 //整片擦除
#define BPG_PROG 0x02 //字节、页编程(1至256字节)
#define SEQ_PROG 0xAD //0XAF
#define WR_EN 0x06 //写使能
#define WR_DIS 0x04 //写关闭
#define PRO_SEC 0x36 //保护区域
#define UPR_SEC 0x39 //解除保护区域
#define RD_SPR 0x3C //读扇区保护寄存器
#define RD_SR 0x05 //读状态寄存器
#define WR_SR 0x01 //写状态寄存器1
#define RD_MDI 0x9F //读制造商及设备标识
#define DEEP_PWR 0xB9 //省电模式
#define RT_DEEP_PWR 0xB9 //解除省电模式 |
|