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

📄 ata_8h-source.html

📁 方便飞利浦arm7tdmi 处理器lpc2100开发的C函数库 Procyon ARMlib-LPC2100 C-Language Function Library for Philips LPC21
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00085 <span class="preprocessor"></span><span class="preprocessor">#define ATA_IDENT_SECTORS       6       // number of sectors per track</span>00086 <span class="preprocessor"></span><span class="preprocessor">#define ATA_IDENT_SERIAL        10      // drive model name (20 characters)</span>00087 <span class="preprocessor"></span><span class="preprocessor">#define ATA_IDENT_MODEL         27      // drive model name (40 characters)</span>00088 <span class="preprocessor"></span><span class="preprocessor">#define ATA_IDENT_FIELDVALID    53      // indicates field validity of higher words (bit0: words54-58, bit1: words 64-70)</span>00089 <span class="preprocessor"></span><span class="preprocessor">#define ATA_IDENT_LBASECTORS    60      // number of sectors in LBA translation mode</span>00090 <span class="preprocessor"></span>00091 <span class="comment">// drive mode defines (for ataSetDrivePowerMode() )</span>00092 <span class="preprocessor">#define ATA_DISKMODE_SPINDOWN   0</span>00093 <span class="preprocessor"></span><span class="preprocessor">#define ATA_DISKMODE_SPINUP     1</span>00094 <span class="preprocessor"></span><span class="preprocessor">#define ATA_DISKMODE_SETTIMEOUT 2</span>00095 <span class="preprocessor"></span><span class="preprocessor">#define ATA_DISKMODE_SLEEP      3</span>00096 <span class="preprocessor"></span>00097 <span class="comment">// typedefs</span>00098 <span class="comment">// drive info structure</span>00099 <span class="keyword">typedef</span> <span class="keyword">struct </span>00100 <span class="keyword"></span>{00101     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>  cylinders;00102     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> heads;00103     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> sectors;00104     <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> sizeinsectors;00105     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> LBAsupport;00106     <span class="keywordtype">char</span> model[41];00107 } typeDriveInfo;00108 00109 00110 <span class="comment">// Prototypes</span>00111 <span class="keywordtype">void</span> ataInit(<span class="keywordtype">void</span>);00112 <span class="keywordtype">void</span> ataDriveInit(<span class="keywordtype">void</span>);00113 <span class="keywordtype">void</span> ataDriveSelect(u08 DriveNo);00114 <span class="keywordtype">void</span> ataSetDrivePowerMode(u08 DriveNo, u08 mode, u08 timeout);00115 u08  ataReadByte(u16 reg);00116 <span class="keywordtype">void</span> ataWriteByte(u16 reg, u08 data);00117 <span class="keywordtype">void</span> ataShowRegisters(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> DriveNo);00118 u08  ataSWReset(<span class="keywordtype">void</span>);00119 <span class="keywordtype">void</span> ataDiskErr(<span class="keywordtype">void</span>);00120 <span class="keywordtype">void</span> ataPrintSector( u08 *Buffer);00121 <span class="keywordtype">void</span> ataReadDataBuffer(u08 *Buffer, u16 numBytes);00122 <span class="keywordtype">void</span> ataWriteDataBuffer(u08 *Buffer, u16 numBytes);00123 u08 ataStatusWait(u08 mask, u08 waitStatus);00124 00125 <span class="comment">// read and write routines for CHS based drives</span>00126 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ataReadSectorsCHS(    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Drive, 00127                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Head, 00128                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Track,00129                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Sector,00130                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numsectors,00131                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *Buffer);00132 00133 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ataWriteSectorsCHS(   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Drive, 00134                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Head, 00135                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Track,00136                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Sector,00137                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numsectors,00138                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *Buffer);00139 00140 <span class="comment">// read and write routines for LBA based drives</span>00141 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ataReadSectorsLBA(    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Drive, 00142                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> lba,00143                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numsectors,00144                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *Buffer);00145 00146 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ataWriteSectorsLBA(   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Drive, 00147                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> lba,00148                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numsectors,00149                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *Buffer);00150 00151 <span class="comment">// generic read and write routines using LBA</span>00152 <span class="comment">//   uses native or translated LBA addressing</span>00153 <span class="comment">//   given autodetected drive type</span>00154 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ataReadSectors(   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Drive, 00155                                 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> lba,00156                                 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numsectors,00157                                 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *Buffer);00158 00159 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ataWriteSectors(  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> Drive, 00160                                 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> lba,00161                                 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numsectors,00162                                 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *Buffer);00163 00164 <span class="comment">//unsigned char IdentifyDrive(unsigned char DriveNo,  unsigned char *Buffer, tdefDriveInfo *DriveInfo);</span>00165 <span class="comment">//unsigned char SetMode(unsigned char DriveNo, unsigned char Mode, unsigned char PwrDown);</span>00166 <span class="comment">//unsigned char ATA_Idle(unsigned char Drive);</span>00167 00168 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 13 03:38:11 2004 for Procyon ARMlib-LPC2100 by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.6 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -