亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ata.h

?? 方便飛利浦arm7tdmi 處理器lpc2100開發(fā)的C函數(shù)庫 Procyon ARMlib-LPC2100 C-Language Function Library for Philips LPC21
?? H
字號(hào):
/*! \file ata.h \brief IDE-ATA hard disk interface driver. */
//*****************************************************************************
//
// File Name	: 'ata.h'
// Title		: IDE-ATA interface driver for hard disks
// Author		: Pascal Stang
// Date			: 4/2/2004
// Revised		: 4/2/2004
// Version		: 0.1
// Target MCU	: ARMmini LPC210x
// Editor Tabs	: 4
//
// NOTE: This code is currently below version 1.0, and therefore is considered
// to be lacking in some functionality or documentation, or may not be fully
// tested.  Nonetheless, you can expect most functions to work.
//
// This code is distributed under the GNU Public License
//		which can be found at http://www.gnu.org/licenses/gpl.txt
//
//*****************************************************************************


#ifndef ATA_H
#define ATA_H

#include "global.h"
#include "membus.h"
#include "ataconf.h"

// constants
#define DRIVE0		0

#define STANDBY		0
#define SLEEP		1
#define IDLE		2

// ATA status register bits
#define ATA_SR_BSY		0x80
#define ATA_SR_DRDY		0x40
#define ATA_SR_DF		0x20
#define ATA_SR_DSC		0x10
#define ATA_SR_DRQ		0x08
#define ATA_SR_CORR		0x04
#define ATA_SR_IDX		0x02
#define ATA_SR_ERR		0x01

// ATA error register bits
#define ATA_ER_UNC		0x40
#define ATA_ER_MC		0x20
#define ATA_ER_IDNF		0x10
#define ATA_ER_MCR		0x08
#define ATA_ER_ABRT		0x04
#define ATA_ER_TK0NF	0x02
#define ATA_ER_AMNF		0x01

// ATA head register bits
#define ATA_HEAD_USE_LBA	0x40

// ATA commands
#define ATA_CMD_READ			0x20
#define ATA_CMD_READNR			0x21
#define ATA_CMD_WRITE			0x30
#define ATA_CMD_WRITENR			0x31
#define ATA_CMD_IDENTIFY		0xEC
#define ATA_CMD_RECALIBRATE		0x10
#define ATA_CMD_SPINDOWN		0xE0	// spin down disk immediately
#define ATA_CMD_SPINUP			0xE1	// spin up disk immediately
#define ATA_CMD_STANDBY_5SU		0xE2	// spin down disk and set auto-power-down timer (sectorcount*5sec)
#define ATA_CMD_IDLE_5SU		0xE3	// keep disk spinning and set auto-power-down timer (sectorcount*5sec)
#define ATA_CMD_SLEEP			0xE6	// sleep disk (wakeup only on HW or SW reset)
#define ATA_CMD_STANDBY_01SU	0xF2	// spin down disk and set auto-power-down timer (sectorcount*0.1sec)
#define ATA_CMD_IDLE_01SU		0xF3	// keep disk spinning and set auto-power-down timer (sectorcount*0.1sec)


// ATA CHS disk parameters (examples, now we autodetect)
#define ATA_DISKPARM_CLYS		0x03A6	// number of cylinders per platter
#define ATA_DISKPARM_HEADS		0x10	// number of heads (usable plater sides)
#define ATA_DISKPARM_SECTORS	0x11	// number of sectors per head per cylinder

// ATA Identity fields
// all offsets refer to word offset (2 byte increments)
#define ATA_IDENT_DEVICETYPE	0		// specifies ATA/ATAPI, removable/non-removable
#define ATA_IDENT_CYLINDERS		1		// number of logical cylinders
#define ATA_IDENT_HEADS			3		// number of logical heads
#define ATA_IDENT_SECTORS		6		// number of sectors per track
#define ATA_IDENT_SERIAL		10		// drive model name (20 characters)
#define ATA_IDENT_MODEL			27		// drive model name (40 characters)
#define ATA_IDENT_FIELDVALID	53		// indicates field validity of higher words (bit0: words54-58, bit1: words 64-70)
#define ATA_IDENT_LBASECTORS	60		// number of sectors in LBA translation mode

// drive mode defines (for ataSetDrivePowerMode() )
#define ATA_DISKMODE_SPINDOWN	0
#define ATA_DISKMODE_SPINUP		1
#define ATA_DISKMODE_SETTIMEOUT	2
#define ATA_DISKMODE_SLEEP		3

// typedefs
// drive info structure
typedef struct 
{
	unsigned int  cylinders;
	unsigned char heads;
	unsigned char sectors;
	unsigned long sizeinsectors;
	unsigned char LBAsupport;
	char model[41];
} typeDriveInfo;


// Prototypes
void ataInit(void);
void ataDriveInit(void);
void ataDriveSelect(u08 DriveNo);
void ataSetDrivePowerMode(u08 DriveNo, u08 mode, u08 timeout);
u08  ataReadByte(u16 reg);
void ataWriteByte(u16 reg, u08 data);
void ataShowRegisters(unsigned char DriveNo);
u08  ataSWReset(void);
void ataDiskErr(void);
void ataPrintSector( u08 *Buffer);
void ataReadDataBuffer(u08 *Buffer, u16 numBytes);
void ataWriteDataBuffer(u08 *Buffer, u16 numBytes);
u08 ataStatusWait(u08 mask, u08 waitStatus);

// read and write routines for CHS based drives
unsigned char ataReadSectorsCHS(	unsigned char Drive, 
									unsigned char Head, 
									unsigned int Track,
									unsigned char Sector,
									unsigned int numsectors,
									unsigned char *Buffer);

unsigned char ataWriteSectorsCHS(	unsigned char Drive, 
									unsigned char Head, 
									unsigned int Track,
									unsigned char Sector,
									unsigned int numsectors,
									unsigned char *Buffer);

// read and write routines for LBA based drives
unsigned char ataReadSectorsLBA(	unsigned char Drive, 
									unsigned long lba,
									unsigned int numsectors,
                            		unsigned char *Buffer);

unsigned char ataWriteSectorsLBA(	unsigned char Drive, 
									unsigned long lba,
									unsigned int numsectors,
                            		unsigned char *Buffer);

// generic read and write routines using LBA
//   uses native or translated LBA addressing
//   given autodetected drive type
unsigned char ataReadSectors(	unsigned char Drive, 
								unsigned long lba,
								unsigned int numsectors,
                            	unsigned char *Buffer);

unsigned char ataWriteSectors(	unsigned char Drive, 
								unsigned long lba,
								unsigned int numsectors,
                            	unsigned char *Buffer);

//unsigned char IdentifyDrive(unsigned char DriveNo,  unsigned char *Buffer, tdefDriveInfo *DriveInfo);
//unsigned char SetMode(unsigned char DriveNo, unsigned char Mode, unsigned char PwrDown);
//unsigned char ATA_Idle(unsigned char Drive);

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合欧美在线视频区| 欧美日韩成人综合在线一区二区| 亚洲免费观看视频| 欧美成人r级一区二区三区| 99re成人精品视频| 久久99在线观看| 亚洲国产综合人成综合网站| 中文在线一区二区| 91精品国产色综合久久不卡蜜臀| 97精品国产露脸对白| 国产一区二区不卡| 秋霞影院一区二区| 亚洲一区二区三区爽爽爽爽爽| 国产免费成人在线视频| 精品免费国产一区二区三区四区| 91一区二区在线观看| 粗大黑人巨茎大战欧美成人| 另类小说欧美激情| 日韩极品在线观看| 日韩精品视频网站| 午夜精品成人在线视频| 一区二区三区免费在线观看| 国产精品妹子av| 欧美激情一区二区三区不卡| 久久久久免费观看| 精品国产第一区二区三区观看体验| 在线综合亚洲欧美在线视频| 在线观看一区二区视频| 日本韩国精品在线| 91年精品国产| 色婷婷久久99综合精品jk白丝| a亚洲天堂av| 972aa.com艺术欧美| 成人av一区二区三区| 丁香婷婷综合五月| 国产成人午夜99999| 国产精品亚洲第一| 国产91丝袜在线观看| 成人av在线资源网站| www.欧美.com| 91丝袜国产在线播放| 91丨porny丨蝌蚪视频| 91在线码无精品| 色婷婷综合五月| 欧美日韩亚洲综合在线| 欧美日韩久久久| 在线播放视频一区| 日韩欧美精品在线| 久久久久九九视频| 欧美国产激情二区三区| 中文字幕一区二区三区蜜月| 1区2区3区精品视频| 伊人色综合久久天天| 亚洲一区二三区| 青娱乐精品在线视频| 国产乱色国产精品免费视频| 不卡大黄网站免费看| 色视频欧美一区二区三区| 欧美日韩在线播放三区四区| 日韩一二三四区| 久久久影视传媒| 亚洲欧洲制服丝袜| 日韩国产精品91| 国产一区二三区| 99久久综合99久久综合网站| 欧洲在线/亚洲| 91精品久久久久久蜜臀| 久久久久亚洲综合| 一区二区三区不卡在线观看| 蜜桃视频免费观看一区| 国产91露脸合集magnet| 欧美最猛性xxxxx直播| 日韩一级片在线播放| 中文字幕乱码久久午夜不卡| 亚洲高清视频的网址| 极品美女销魂一区二区三区免费| www.视频一区| 日韩一区二区在线免费观看| 国产精品理论片在线观看| 肉肉av福利一精品导航| 国产尤物一区二区| 欧美在线观看你懂的| 欧美精品一区二区三区四区| 伊人婷婷欧美激情| 国产精品亚洲专一区二区三区| 在线视频观看一区| 国产网红主播福利一区二区| 亚洲成年人网站在线观看| 国产精品一区二区久激情瑜伽| 91视频91自| 久久综合九色综合97婷婷| 亚洲一区二区三区国产| 国产麻豆精品theporn| 欧美亚洲国产怡红院影院| 久久久亚洲精品石原莉奈| 亚洲18女电影在线观看| 成人av网站在线| 26uuu亚洲| 日韩影院在线观看| 91免费看`日韩一区二区| 精品国产麻豆免费人成网站| 亚洲国产va精品久久久不卡综合| 波多野结衣精品在线| 精品国产伦一区二区三区观看方式| 亚洲永久免费视频| 91在线视频网址| 久久久精品综合| 久久66热re国产| 欧美一级二级在线观看| 夜夜夜精品看看| 一本大道av伊人久久综合| 国产日本一区二区| 国产在线视频精品一区| 91精品国产高清一区二区三区蜜臀 | 成人动漫av在线| 精品国产91久久久久久久妲己| 亚洲一二三四区不卡| 97se亚洲国产综合在线| 中文字幕欧美三区| 国产一区二区三区免费看| 欧美一区二区三区在线观看视频 | 日韩视频在线你懂得| 一区二区三区四区在线播放 | 91在线云播放| 亚洲欧洲精品天堂一级| 色综合久久中文综合久久牛| 国产日韩欧美精品一区| 国产精品一区二区三区99| 久久综合九色欧美综合狠狠 | 精品在线观看视频| 欧美电影免费观看完整版| 免费在线观看一区二区三区| 69成人精品免费视频| 五月开心婷婷久久| 欧美精品第1页| 视频一区在线播放| 欧美精品粉嫩高潮一区二区| 视频精品一区二区| 日韩一区二区三区精品视频| 日韩高清一区二区| 日韩一卡二卡三卡国产欧美| 另类小说视频一区二区| 久久亚洲免费视频| 成人晚上爱看视频| 亚洲人成精品久久久久久| 在线观看一区日韩| 三级不卡在线观看| 精品国产在天天线2019| 国产乱码精品1区2区3区| 久久精品欧美一区二区三区麻豆| 国产iv一区二区三区| 亚洲欧美视频在线观看| 精品视频色一区| 日本亚洲最大的色成网站www| 日韩欧美国产精品一区| 国产精品一二三| ●精品国产综合乱码久久久久| 91黄视频在线观看| 日韩电影在线免费| www欧美成人18+| av高清久久久| 日产欧产美韩系列久久99| 精品国产区一区| av不卡免费在线观看| 亚洲国产欧美在线| www欧美成人18+| 色婷婷久久99综合精品jk白丝 | 91福利精品第一导航| 奇米影视一区二区三区| 久久久久国产精品免费免费搜索| 91亚洲精品乱码久久久久久蜜桃| 午夜精品一区二区三区免费视频 | 亚洲一区二区综合| 精品毛片乱码1区2区3区| 成人av在线资源网| 午夜精品一区二区三区电影天堂 | 日本亚洲一区二区| 国产午夜精品美女毛片视频| 欧洲日韩一区二区三区| 久久99热这里只有精品| 亚洲欧美激情视频在线观看一区二区三区| 欧美日韩亚洲综合一区| 国产69精品久久99不卡| 日韩精品成人一区二区在线| 国产精品素人一区二区| 7777精品伊人久久久大香线蕉的 | 五月婷婷久久丁香| 国产精品美女久久久久久久网站| 欧美挠脚心视频网站| 成人国产免费视频| 日产欧产美韩系列久久99| 日韩伦理电影网| 欧美成人一区二区三区| 91极品视觉盛宴| 国产宾馆实践打屁股91| 另类调教123区| 亚洲成人动漫在线免费观看| 亚洲国产精品av| 日韩午夜激情电影| 欧美私人免费视频|