?? flash.h
字號:
#ifndef __FLASH_H
#define __FLASH_H
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//Mini STM32開發板
//W25X16 驅動函數
//正點原子@ALIENTEK
//技術論壇:www.openedv.com
//修改日期:2010/6/13
//版本:V1.0
//版權所有,盜版必究。
//Copyright(C) 正點原子 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
#define SPI_FLASH_CS PAout(2) //選中FLASH
//#define FLASHE_WRITE_EN //允許寫操作
////////////////////////////////////////////////////////////////////////////
//W25X16讀寫
#define FLASH_ID 0XEF14
//指令表
#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
#define W25X_ManufactDeviceID 0x90
#define W25X_JedecDeviceID 0x9F
void SPI_Flash_Init(void);
u16 SPI_Flash_ReadID(void); //讀取FLASH ID
u8 SPI_Flash_ReadSR(void); //讀取狀態寄存器
void SPI_FLASH_Write_SR(u8 sr); //寫狀態寄存器
void SPI_FLASH_Write_Enable(void); //寫使能
void SPI_FLASH_Write_Disable(void); //寫保護
void SPI_Flash_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead); //讀取flash
void SPI_Flash_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);//寫入flash
void SPI_Flash_Erase_Chip(void); //整片擦除
void SPI_Flash_Erase_Sector(u32 Dst_Addr);//扇區擦除
void SPI_Flash_Wait_Busy(void); //等待空閑
void SPI_Flash_PowerDown(void); //進入掉電模式
void SPI_Flash_WAKEUP(void); //喚醒
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -