📄 ide.h
字号:
//#ifndef __IDE_H__
//#define __IDE_H__
//control bits of hard drive ('_' means active low)
#define HIOW_ PORTB.0
#define HIOR_ PORTB.1
#define HA00 PORTB.2
#define HA01 PORTB.3
#define HA02 PORTB.4
#define HCS0_ PORTB.5
#define HCS1_ PORTB.6
#define HRST_ PORTB.7
//data bus of hard drive
#define HOUT_LO PORTA
#define HOUT_HI PORTC
#define HIN_LO PINA
#define HIN_HI PINC
//command block registers
#define DATA_REG 0x10
#define ERROR_REG 0x11
#define FEATURES_REG 0x11
#define SECT_COUNT_REG 0x12
#define SECT_NUM_REG 0x13
#define CYL_LO_REG 0x14
#define CYL_HI_REG 0x15
#define DRIVE_HEAD_REG 0x16
#define STATUS_REG 0x17
#define COMMAND_REG 0x17
//control block registers
#define ALT_STATUS_REG 0x0e
#define DEV_CONTROL_REG 0x0e
#define DRIVE_ADDR_REG 0x0f
void InitDrive(void);
void SetRegAddr(unsigned char reg);
unsigned int ReadRegister();
void WriteRegister(unsigned int val);
void WaitNBusy(unsigned char bReady);
void SetBusIn(void);
void SetBusOut(void);
unsigned char ReadSectorLBA(unsigned long lba,unsigned char *buffer);
//#endif //__IDE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -