ide.h

来自「Accessing IDE Hard disk by ATmega32 micr」· C头文件 代码 · 共 47 行

H
47
字号
//#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 + =
减小字号Ctrl + -
显示快捷键?