#ifndef __FLASH_H #define __FLASH_H #include "system.h" #define W25Q128 0XEF17 //本开发版采用的芯片是W25Q128,对应制造商设备ID号0xEF17// extern u16 W25QXX_TYPE; //定义W25QXX芯片型号// #define W25QXX_CS PAout(4) //W25QXX的片选信号// //W25Q128 指令表// #define W25X_WriteEnable 0x06 //写入使能// #define W25X_WriteDisable 0x04 //写入禁止// #define W25X_ReadStatusReg 0x05 //读取状态寄存器// #define W25X_WriteStatusReg 0x01 //写入状态寄存器// #define W25X_ReadData 0x03 //读取数据// #define W25X_FastReadData 0x0B //快速读取数据// #define W25X_FastReadDual 0x3B //快速双端口输出方式读取存储器数据// #define W25X_PageProgram 0x02 //页编程// #define W25X_BlockErase 0xD8 //块擦除// #define W25X_SectorErase 0x20 //扇擦除// #define W25X_ChipErase 0xC7 //芯片擦除// #define W25X_PowerDown 0xB9 //掉电// #define W25X_ReleasePowerDown 0xAB //释放掉电// #define W25X_DeviceID 0xAB //设备ID号// #define W25X_ManufactDeviceID 0x90 //制造商设备ID号// #define W25X_JedecDeviceID 0x9F //JEDEC(Joint Electron Device Engineering Council)电子元件工业联合会// //申明14个函数// void W25QXX_Init(void); //W25Qxx初始化函数*// u16 W25QXX_ReadID(void); //读取FLASH ID函数*// u8 W25QXX_ReadSR(void); //读取状态寄存器函数*// void W25QXX_Write_SR(u8 sr); //写入状态寄存器函数*// void W25QXX_Write_Enable(void); //写入使能函数*// void W25QXX_Write_Disable(void); //写入失能函数*// void W25QXX_Write_Page(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);//Y void W25QXX_Write_NoCheck(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);//无检查写入flash函数*// void W25QXX_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead); //读取flash函数*// void W25QXX_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite); //写入flash函数// void W25QXX_Erase_Chip(void); //整片芯片擦除函数*// void W25QXX_Erase_Sector(u32 Dst_Addr); //扇区擦除函数*// void W25QXX_Wait_Busy(void); //等待空闲函数*// void W25QXX_PowerDown(void); //进入掉电模式函数*// void W25QXX_WAKEUP(void); //唤醒函数*// #endif