📄 at45db081.h
字号:
#ifndef AT45DB081_H
#define AT45DB081_H
#include "main.h"
sbit CS=P0^6;
sbit WP=P0^7;
sbit RDY=P1^0;
#define BUFFER_1 0x00 // buffer 1
#define BUFFER_2 0x01 // buffer 2
#define BUFFER_1_WRITE 0x84 // buffer 1 write
#define BUFFER_2_WRITE 0x87 // buffer 2 write
#define BUFFER_1_READ 0x54 // buffer 1 read (change to 0xD4 for SPI mode 0,3)
#define BUFFER_2_READ 0x56 // buffer 2 read (change to 0xD6 for SPI mode 0,3)
#define B1_TO_PAGE_WITH_ERASE 0x83 // buffer 1 to main memory page program with built-in erase
#define B2_TO_PAGE_WITH_ERASE 0x86 // buffer 2 to main memory page program with built-in erase
#define B1_TO_PAGE_WITHOUT_ERASE 0x88 // buffer 1 to main memory page program without built-in erase
#define B2_TO_PAGE_WITHOUT_ERASE 0x89 // buffer 2 to main memory page program without built-in erase
#define PAGE_PROG_THROUGH_B1 0x82 // main memory page program through buffer 1
#define PAGE_PROG_THROUGH_B2 0x85 // main memory page program through buffer 2
#define AUTO_PAGE_REWRITE_THROUGH_B1 0x58 // auto page rewrite through buffer 1
#define AUTO_PAGE_REWRITE_THROUGH_B2 0x59 // auto page rewrite through buffer 2
#define PAGE_TO_B1_COMP 0x60 // main memory page compare to buffer 1
#define PAGE_TO_B2_COMP 0x61 // main memory page compare to buffer 2
#define PAGE_TO_B1_XFER 0x53 // main memory page to buffer 1 transfer
#define PAGE_TO_B2_XFER 0x55 // main memory page to buffer 2 transfer
#define STATUS_REGISTER 0x57
#define MAIN_MEMORY_PAGE_READ 0x52 // main memory page read (change to 0xD2 for SPI mode 0,3)
#define PAGE_ERASE 0x81 // erase a 528 byte page
#define BLOCK_ERASE 0x50 // erase 512 pages
#define DF_CHIP_SELECT CS=0;
#define DF_CHIP_NOSELECT CS=1;
#define DF_RDY_BUSY RDY=1;while(!RDY);
void SendSPIByte(uchar ch);
uchar GetSPIByte(void);
void FlashBufferRead(uint addr,uchar choice,uint len,uchar*buffer);
void FlashBufferWrite(uint addr,uchar choice,uint len,uchar*buffer);
uchar ReadStatus();
void PageToBuffer(uchar choice,uint page);
void PageRead(uint page,uint addr,uint len,uchar*buffer);
bit PageToBufferComp(uchar choice,uint page);
void BufferToPageWithErase(uchar choice,uint page);
void BufferToPageWithOutErase(uchar choice, uint page);
void PageProgViaBuffer(uchar choice,uint page,uint addr,uint len,uchar* buffer);
void AutoPageRewiteViaBuffer(uchar choice,uint page);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -