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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ata.h

?? FAT 16 32 File System Driver for Atmel
?? H
字號:
//*****************************************************************************
//
// Title		: IDE-ATA interface driver for hard disks
// Authors		: Project A3670
// File Name	: 'ata.h'
// Date			: April 26, 2004
// Version		: 1.00
// Target MCU	: Atmel AVR Series
// Editor Tabs	: 4
//
// NOTE: The authors in no way will be responsible for damages that you coul'd be using this code.
//       Use this code at your own risk.
//
//       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 "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 error 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
#define ATA_DISKPARM_HEADS		0x10
#define ATA_DISKPARM_SECTORS	0x11

// ATA Identity fields
// all offsets refer to word offset (2 unsigned char 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            ataDriveSelect         (unsigned char DriveNo);
void            ataSetDrivePowerMode   (unsigned char DriveNo, unsigned char mode, unsigned char timeout);
unsigned char   ataReadByte            (unsigned char reg);
void            ataWriteByte           (unsigned char reg, unsigned char data);
void            ataReadDataBuffer      (unsigned char *Buffer, unsigned short numBytes);
////////////////////
#ifndef ATA_READ_ONLY
void            ataWriteDataBuffer     (unsigned char *Buffer, unsigned short numBytes);
#endif
////////////////////
unsigned char   ataStatusWait          (unsigned char mask, unsigned char waitStatus);
unsigned long   ataGetSizeInSectors    (void);
unsigned long   ataGetSize             (void);
char           *ataGetModel            (void);

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

////////////////////
#ifndef ATA_READ_ONLY
unsigned char   ataWriteSectorsCHS     (unsigned char Drive,
										unsigned char Head,
										unsigned int Track,
										unsigned char Sector,
										unsigned char *Buffer);
#endif
////////////////////

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

////////////////////
#ifndef ATA_READ_ONLY
unsigned char   ataWriteSectorsLBA     (unsigned char Drive,
										unsigned long lba,
                            			unsigned char *Buffer);
#endif
////////////////////

// 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,//sector number
                            			unsigned char *Buffer,
                            			unsigned long *SectorInCache); //actual sector
////////////////////
#ifndef ATA_READ_ONLY
unsigned char   ataWriteSectors        (unsigned char Drive,
										unsigned long lba,
	                           			unsigned char *Buffer);
#endif
////////////////////


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷亚洲一区二区三区| 精品成人a区在线观看| 国模娜娜一区二区三区| 免费看黄色91| 亚洲一区二区av在线| 国产亚洲成aⅴ人片在线观看| 欧美xxxx老人做受| 日本一区二区高清| 艳妇臀荡乳欲伦亚洲一区| 亚洲乱码一区二区三区在线观看| 一区2区3区在线看| 免费成人av资源网| 97久久精品人人爽人人爽蜜臀| aaa欧美大片| 一本到不卡免费一区二区| 国产一区久久久| 色诱亚洲精品久久久久久| 精品视频1区2区| 日本一区二区视频在线| 污片在线观看一区二区| 国产69精品一区二区亚洲孕妇| 欧美最新大片在线看 | 国产精品人人做人人爽人人添| 亚洲欧美国产高清| 国产成人自拍高清视频在线免费播放| 色狠狠色狠狠综合| 中文字幕在线不卡视频| 精彩视频一区二区三区| 777亚洲妇女| 五月婷婷激情综合| 欧美色网站导航| 亚洲夂夂婷婷色拍ww47| 久久国产免费看| 91极品视觉盛宴| 亚洲日本在线a| 成人app在线观看| 欧美一级理论片| 国产精品久久久久久久蜜臀| 国产激情偷乱视频一区二区三区| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲福利一二三区| 欧美色图在线观看| 久久99精品久久久久久动态图| 日韩一区二区不卡| 精品亚洲porn| 国产精品久久久久aaaa| 在线中文字幕一区| 亚洲欧美日韩精品久久久久| 99国产精品久| 亚洲美女屁股眼交| 日韩一区二区高清| 99久精品国产| 精品无人区卡一卡二卡三乱码免费卡| 欧美另类久久久品| 五月婷婷激情综合| 国产精品久久久久久久久果冻传媒| 成熟亚洲日本毛茸茸凸凹| 亚洲国产aⅴ成人精品无吗| 精品国产成人系列| 欧美精品久久久久久久多人混战| 精品午夜一区二区三区在线观看| 亚洲欧洲综合另类在线| 精品国产伦一区二区三区观看方式| 99久久er热在这里只有精品15| 男人的天堂亚洲一区| 亚瑟在线精品视频| 亚洲码国产岛国毛片在线| 久久美女高清视频| 欧美一区二区三区在线视频| 色综合天天综合| 不卡av免费在线观看| 国产精品1区二区.| 高清久久久久久| 成人高清免费观看| 91啪九色porn原创视频在线观看| 狠狠色丁香久久婷婷综合丁香| 蜜臀久久99精品久久久久宅男| 日韩二区三区在线观看| 亚洲一区二区三区在线| 国产精品亲子伦对白| 亚洲视频免费在线观看| 亚洲图片有声小说| 丝袜诱惑亚洲看片| 国产精品一区二区在线播放| 国产精品99久| 日本精品一区二区三区四区的功能| 日本高清成人免费播放| 欧美精品乱码久久久久久 | 日本不卡123| 国产成人av电影在线播放| 欧美日韩在线播放三区| 偷拍一区二区三区四区| 狠狠色综合播放一区二区| gogogo免费视频观看亚洲一| 欧美在线不卡一区| 中文字幕 久热精品 视频在线| 亚洲欧美国产高清| 国产成人精品亚洲日本在线桃色| 色综合久久综合中文综合网| 欧美精品一区二区三区很污很色的| 中文字幕一区二区在线观看| 三级不卡在线观看| 色婷婷亚洲综合| 亚洲一区免费在线观看| 蜜桃av一区二区在线观看| 欧洲av在线精品| 18成人在线观看| av一区二区三区| 中文字幕五月欧美| 99视频在线观看一区三区| 精品国产成人在线影院| 蜜臀久久99精品久久久画质超高清| 91丨九色丨国产丨porny| 中文字幕精品综合| 成人在线综合网| 亚洲欧美经典视频| 欧美系列亚洲系列| 黑人精品欧美一区二区蜜桃| 久久只精品国产| 91一区二区在线| 亚洲精品久久嫩草网站秘色| 欧美视频一区二区在线观看| 性做久久久久久| 国产三级精品在线| 欧美在线你懂得| 国产一区二区三区高清播放| 国产精品久久久久aaaa樱花| 色激情天天射综合网| 麻豆精品在线视频| 亚洲激情图片一区| 国产丝袜美腿一区二区三区| 99国产精品视频免费观看| 精品日韩一区二区三区| 成人精品视频网站| 毛片av中文字幕一区二区| 国产精品久久久久桃色tv| 欧美日韩国产一级片| 成人av资源网站| 久久99国内精品| 欧美a级理论片| 亚洲午夜在线电影| 亚洲人123区| 国产精品麻豆欧美日韩ww| 欧美一区二区视频观看视频| 在线欧美一区二区| 成人app网站| 91蜜桃免费观看视频| proumb性欧美在线观看| 国产真实乱子伦精品视频| 麻豆成人免费电影| 精品在线亚洲视频| 国产在线不卡视频| 国产精品1区二区.| 99久久综合精品| 色婷婷久久综合| 欧美日韩精品高清| 欧美一区二区在线播放| 26uuu亚洲婷婷狠狠天堂| www一区二区| 亚洲制服丝袜一区| 日韩国产欧美在线播放| 奇米四色…亚洲| 五月婷婷另类国产| 亚洲成人综合在线| 国产精品99久久久久久似苏梦涵| 久久99深爱久久99精品| 成人av网站免费观看| 欧美日韩三级一区二区| 久久综合一区二区| 亚洲免费成人av| 国产99精品在线观看| 6080国产精品一区二区| 日本一区二区三区dvd视频在线| 综合久久一区二区三区| 另类综合日韩欧美亚洲| 91麻豆精品一区二区三区| 欧美一级夜夜爽| 五月婷婷综合网| 欧美日韩一区三区四区| 亚洲欧洲一区二区在线播放| 天天综合色天天综合色h| 日本道在线观看一区二区| 国产精品无人区| 国产在线国偷精品产拍免费yy| 欧美三级在线播放| 一区二区三区精品在线观看| 97se狠狠狠综合亚洲狠狠| 国产色一区二区| 粉嫩蜜臀av国产精品网站| 久久精品一区二区三区不卡牛牛 | 亚洲国产精品一区二区尤物区| 一区二区三区毛片| 在线观看91精品国产入口| 一区二区三区日韩| 欧美精品久久99久久在免费线| 亚洲一区日韩精品中文字幕| 精品视频999| 蜜桃久久久久久久| 欧美日韩国产天堂| 麻豆精品视频在线观看免费|