📄 cf.h
字号:
#define CF_A0 PIN_E0
#define CF_A1 PIN_E1
#define CF_A2 PIN_E2
#define CF_OE PIN_A1
#define CF_WE PIN_A2
#define CF_READY PIN_A3
#define CF_RESET PIN_A5
#define CF_CD PIN_C5
#define CF_CE PIN_B0
#define TRIS_D_INPUT 0xFF // 11111111
#define TRIS_D_OUTPUT 0x00 // 00000000
#byte CF_DATA = 0x08 /* Port D */
#byte CF_DATA_TRIS = 0x88 /* Port D TRIS */
// wait for the CF RDY line to go high, ie ready for next command
#define waitforready() while (!input(CF_READY))
#define REG_DATA 0x00 // ADDRESS OF DATA REGISTER
#define REG_ERROR 0x01 // ADDRESS OF ERROR REGISTER
#define REG_FEATURES 0x01 // ADDRESS OF FEATURES REGISTER
#define REG_SECTORCOUNT 0x02 // ADDRESS OF SECTOR COUNT REGISTER
#define REG_SECTORNUM 0x03 // ADDRESS OF SECTOR NUMBER REGISTER
#define REG_CYLINDERLOW 0x04 // ADDRESS OF LOW CYLINDER REGISTER
#define REG_CYLINDERHIGH 0x05 // ADDRESS OF HIGH CYLINDER REGISTER
#define REG_HEAD 0x06 // ADDRESS OF HEAD/DRIVE REGISTER
#define REG_STATUS 0x07 // ADDRESS OF STATUS REGISTER
#define REG_COMMAND 0x07 // ADDRESS OF COMMAND REGISTER
#define COMMAND_IDENTIFY 0xEC
#define COMMAND_WRITESECTOR 0x30
#define COMMAND_READSECTOR 0x20
#define CF_OK 0
#define NO_CF 1
boolean CF_isReady();
boolean CF_isBusy(void);
void CF_taskFileWrite(byte, byte);
byte CF_ReadByte(void);
void CF_WriteByte(byte data);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -