📄 flash.h
字号:
/********************************************************************************
* *
* ATML AT45DB021B FLASH 操作函数 *
* 2007年4月28日调试成功 *
* 编写:周思友 *
*********************************************************************************/
#include "config.h"
#define FLASH_CS 1<<21 //SET p0.21 for cs
#define MOSI11 1<<19 //SET P0,19 FOR MOSI1
#define MISO11 1<<18 //SET P0.18 FOR MISO
#define SCK11 1<<17 //SET P0.17 FOR SCK1
#define FLASH_WP 1<<20 //SET P1.20 FOR WP
#define AT_RST 1<<22 //SET P0.22 FOR RESET FLASH
#define DF_SELECT_1 IOCLR=FLASH_CS
#define DF_DESELECT_1 IOSET=FLASH_CS
#define DF_RST_0 IOCLR=AT_RST
#define DF_RST_1 IOSET=AT_RST
#define WP_UP IO1SET=FLASH_WP
#define WP_DOWN IO1CLR=FLASH_WP
#define MOSI11_1 IOSET=MOSI11
#define MOSI11_0 IOCLR=MOSI11
#define SCK11_1 IOSET=SCK11
#define SCK11_0 IOCLR=SCK11
#define MISO_IN ((IOPIN& 0x40000)>>18)
#define FLASH_IO_CON_IN FLASH_CS|MOSI11|AT_RST|SCK11
#define BUFFER_1_WRITE 0x84 // 写入第一缓冲区
#define BUFFER_2_WRITE 0x87 // 写入第二缓冲区
#define BUFFER_1_READ 0xD4 // 读取第一缓冲区
#define BUFFER_2_READ 0xD6 // 读取第二缓冲区
#define B1_TO_MM_PAGE_PROG_WITH_ERASE 0x83 // 将第一缓冲区的数据写入主存储器(擦除模式)
#define B2_TO_MM_PAGE_PROG_WITH_ERASE 0x86 // 将第二缓冲区的数据写入主存储器(擦除模式)
#define MM_PAGE_TO_B1_XFER 0x53 // 将主存储器的指定页数据加载到第一缓冲区
#define MM_PAGE_TO_B2_XFER 0x55 // 将主存储器的指定页数据加载到第二缓冲区
#define PAGE_ERASE 0x81 // 页删除(每页512/528字节)
#define BLOCK_ERASE 0x50 // 块擦除(每块8*264字节)
#define READ_STATE_REGISTER 0xD7 // 读取状态寄存器
#define MAIN_MEMORY_PAGE_READ 0xD2 // 直接主存页读
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -