at45xx.h
Go to the documentation of this file.
1 
23 #ifndef _AT45xx_H
24 #define _AT45xx_H 1
25 
26 #define FCS0 RC2
27 /*
28 #define FCS1 RA3 ///< O First SDF
29 #define FRES RA1 ///< O RESET
30 #define FWP RA2 ///< O Write protect
31 */
32 #define DF_CS_LO() FCS0=0
33 #define DF_CS_HI() FCS0=1
34 
38 #define MAIN_MEMORY_PAGE_READ 0x52
39 #define BUFFER1_READ 0x54
40 #define BUFFER2_READ 0x56
41 #define MAIN_MEMORY_PAGE_TO_BUFFER1_COPY 0x53
42 #define MAIN_MEMORY_PAGE_TO_BUFFER2_COPY 0x55
43 #define MAIN_MEMORY_PAGE_TO_BUFFER1_COMPARE 0x60
44 #define MAIN_MEMORY_PAGE_TO_BUFFER2_COMPARE 0x61
45 #define BUFFER1_WRITE 0x84
46 #define BUFFER2_WRITE 0x87
47 #define BUFFER1_PROGRAM_WITH_ERASE 0x83
48 #define BUFFER2_PROGRAM_WITH_ERASE 0x86
49 #define BUFFER1_PROGRAM_NO_ERASE 0x88
50 #define BUFFER2_PROGRAM_NO_ERASE 0x89
51 #define PAGE_ERASE 0x81
52 #define BLOCK_ERASE 0x50
53 #define MAIN_MEMORY_THROUGH_BUFFER1_PROGRAM 0x82
54 #define MAIN_MEMORY_THROUGH_BUFFER2_PROGRAM 0x85
55 #define AUTO_PAGE_THROUGH_BUFFER1_REWRITE 0x58
56 #define AUTO_PAGE_THROUGH_BUFFER2_REWRITE 0x59
57 #define DF_STATUS 0x57
58 
59 #define DF_BUFFER1 0x00
60 #define DF_BUFFER2 0x01
61 
65 #define IS_DF_BUSY() IS_DF_READY_LO()
66 
70 #define DF_STATUS_READY_MASK 0x80
71 #define IS_DF_READY(_status_) (_status_ & \
72  DF_STATUS_READY_MASK)
73 #define DF_STATUS_COMP_MASK 0x40
74 #define IS_DF_COMP_OK(_status_) ((_status_ & \
75  DF_STATUS_COMP_MASK) \
76  == 0)
77 
78 #define DF_STATUS_DENSITY_MASK 0x38
79 #define DF_1MBIT_DENSITY_CODE 0x08
80 #define DF_2MBIT_DENSITY_CODE 0x10
81 #define DF_4MBIT_DENSITY_CODE 0x18
82 #define DF_8MBIT_DENSITY_CODE 0x20
83 #define DF_16MBIT_DENSITY_CODE 0x28
84 #define DF_32MBIT_DENSITY_CODE 0x30
85 #define DF_64MBIT_DENSITY_CODE 0x38
86 
90 #define MAX_PAGE_32MBIT_DENSITY 8192
91 #define MAX_PAGE_1MBIT_DENSITY 512
92 #define PAGESIZE 264
93 
94 BYTE DF_ReadStatus(void);
95 void DF_WriteBuffer1(WORD Address, BYTE* Data, WORD size);
96 void DF_ReadBuffer1(WORD Address, BYTE* data, WORD size);
97 void DF_ErasePage(WORD PageNum);
98 void DF_ReadMainMemory(WORD PageNum, WORD SubAddress, BYTE *buff, WORD size);
99 void DF_Buffer12MainMemory(WORD PageNum);
100 void DF_Buffer12MainMemoryE(WORD PageNum);
101 void DF_Page2Buffer1(WORD PageNum);
102 void DF_Compare(WORD PageNum);
103 void DF_AutoPageRewrite(WORD PageNum);
104 
105 
106 #endif
107 //********************************************************[ENDL]***************
void DF_ReadMainMemory(WORD PageNum, WORD SubAddress, BYTE *buff, WORD size)
void DF_Page2Buffer1(WORD PageNum)
Definition: at45xx.c:149
void DF_WriteBuffer1(WORD Address, BYTE *Data, WORD size)
Definition: at45xx.c:52
void DF_ErasePage(WORD PageNum)
void DF_Buffer12MainMemory(WORD PageNum)
void DF_ReadBuffer1(WORD Address, BYTE *data, WORD size)
Definition: at45xx.c:79
BYTE DF_ReadStatus(void)
Definition: at45xx.c:30
unsigned char BYTE
Definition: pgrl.h:38
unsigned int WORD
Definition: pgrl.h:45
void DF_AutoPageRewrite(WORD PageNum)
Definition: at45xx.c:170
void DF_Compare(WORD PageNum)
Definition: at45xx.c:192
void DF_Buffer12MainMemoryE(WORD PageNum)
Definition: at45xx.c:127