⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 at45db021.h

📁 AVR系列被广泛应用的单片机MEGA8开发(原理图)及例程
💻 H
字号:
////#define   45DB0161
//#ifdef  45DB0161
//#define Buffer_Size 			264
//#define Page_Size                1024
//#define Block_Size                 128

// buffer 1
#define BUFFER_1 0x00
// buffer 2
#define BUFFER_2 0x03
// defines for all opcodes

// buffer 1 read (change to 0xD4 for SPI mode 0,3)
#define BUFFER_1_READ 0x54
// buffer 2 read (change to 0xD6 for SPI mode 0,3)
#define BUFFER_2_READ 0x56
// DataFlash status register for reading density, compare status,
// and ready/busy status (change to 0xD7 for SPI mode 0,3)
#define STATUS_REGISTER 0x57
// main memory page read (change to 0xD2 for SPI mode 0,3)
#define MAIN_MEMORY_PAGE_READ 0x52
#define Continuous_Array_Read  0x68

// buffer 1 write
#define BUFFER_1_WRITE 0x84
// buffer 2 write
#define BUFFER_2_WRITE 0x87
// buffer 1 to main memory page program with built-in erase
#define B1_TO_MM_PAGE_PROG_WITH_ERASE 0x83
// buffer 2 to main memory page program with built-in erase
#define B2_TO_MM_PAGE_PROG_WITH_ERASE 0x86
// buffer 1 to main memory page program without built-in erase
#define B1_TO_MM_PAGE_PROG_WITHOUT_ERASE 0x88
// buffer 2 to main memory page program without built-in erase
#define B2_TO_MM_PAGE_PROG_WITHOUT_ERASE 0x89
// main memory page program through buffer 1
#define MM_PAGE_PROG_THROUGH_B1 0x82
// main memory page program through buffer 2
#define MM_PAGE_PROG_THROUGH_B2 0x85
// erase a 528 byte page
#define PAGE_ERASE 0x81
// erase 512 pages
#define BLOCK_ERASE 0x50

// auto page rewrite through buffer 1
#define AUTO_PAGE_REWRITE_THROUGH_B1 0x58
// auto page rewrite through buffer 2
#define AUTO_PAGE_REWRITE_THROUGH_B2 0x59
// main memory page compare to buffer 1
#define MM_PAGE_TO_B1_COMP 0x60
// main memory page compare to buffer 2
#define MM_PAGE_TO_B2_COMP 0x61
// main memory page to buffer 1 transfer
#define MM_PAGE_TO_B1_XFER 0x53
// main memory page to buffer 2 transfer
#define MM_PAGE_TO_B2_XFER 0x55
#define Buffer_Size 			264
#define Page_Size                1024
#define Block_Size                 128
#define DELAYTIMER           3
unsigned char   SPI_MISO(void);
void SPI_MOSI(unsigned char   flag);
void SPI_SCK(unsigned char   flag);
void SPI_CS(unsigned char   flag);
void SPI_Start(void);
void SPI_End(void);
void SPI_Send8BitData(unsigned char Send_data);
unsigned char SPI_Receive8BitData(void);
void erasing_flash(void);
void EasingBlock(unsigned char Block_Add);
void EasingPage(unsigned int Page_Add);
void WriteToBuffer(unsigned char * write_data,unsigned int datalength,unsigned char BufferSelect,unsigned int Buff_add);
void WriteToMemory(unsigned int Page_Add,unsigned char WriteFlag);
void ReadBuffer(unsigned char * Read_data,unsigned int datalength,unsigned char BufferSelect,unsigned int Buff_add);
void MemoryToBuffer(unsigned int Page_add,unsigned char BufferSelect );
void  MemoryPageRead(unsigned char * Read_data,unsigned int datalength,unsigned int Page_add,unsigned int in_page_add);
void  ContinuousArraryRead(unsigned char * Read_data,unsigned int datalength,unsigned int Page_add,unsigned int in_page_add);
void WriteBlock(unsigned char Block_Add,unsigned char Block_Data);
unsigned char  ReadBlock(unsigned char Block_Add);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -