You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
incubator_embeded/HARDWARE/W25Q128_Ins.h

42 lines
2.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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 //JEDECJoint 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