⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ide.h

📁 Accessing IDE Hard disk by ATmega32 microcontroller (Proteus simulation include)
💻 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 + -