正在加载图片...
广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925 4函数手册 41硬件接口函数 硬件接口函数是与系统硬件相关的函数集,这部分函数为用户系统硬件与本驱动的接口 函数。用户需针对自己的硬件系统来编写这部分函数。 表1和表2描述了硬件系统需要提供给本驱动使用的接口函数。 表1 SYs IdeHard Reset函数 函数名称 SYS IdeHard Reset 所属文件 SysATA. C 函数原型 uint8 SYs IdeHardReset(void) 功能描述ATA设备硬件复位 编译开关无 函数参数 调用模块 Sys WaitInUSO延时微秒级函数 特殊说明使复位引脚 IDE RST有效低电平)保持大于25微秒, IDE RST无效高电平)后至 和注意要点少延迟2毫秒才可以对ATA设备读写寄存器操作 范例 void SYS IdehardReset(vod)基于 ARM LPC2210,GPO引脚 IDE RST* IOCLR= IDE RST /*复位引脚置低* /延时大于25微秒· IOSET= IDE RST /*复位引脚置高* SYS WaitInUS(5000) /*延时大于2毫秒 表2ATA设备寄存器操作函数列表 输入数据类型 返回数据类型 unsigned char/ unsigned short读数据寄存器 SetData(x) unsigned char/unsigned short T 写数据寄存器 ensign 读错误寄存器 unsigned cha GetsECCNTO unsigned char 读扇区计数寄存器 SetsECCNT(x) unsigned char 无 写扇区计数寄存器 GetSectorO unsigned char 读扇区寄存器 unsigned char 无 写扇区寄存器 GetCylinderlowo unsigned char 读柱面低8位寄存器 Set CylinderLow(x) unsigned char 写柱面低8位寄存器 GetCylinderHigh0|无 unsigned char 读柱面高8位寄存器 SetCylinderHigh(x) unsigned char 无 写柱面高8位寄存器 unsigned char 读设备磁头寄存器 SetDeviceHead(x) unsigned char 设备磁头寄存器 etstatusO unsigned char 读状态寄存器 SetCommand(x) unsigned char 写命令寄存器 GetAStatuso ensign 读辅助状态寄存器广州周立功单片机发展有限公司 Tel: (020) 38730916 38730917 38730976 38730977 Fax: 38730925 4 函数手册 4.1 硬件接口函数 硬件接口函数是与系统硬件相关的函数集,这部分函数为用户系统硬件与本驱动的接口 函数。用户需针对自己的硬件系统来编写这部分函数。 表 1 和表 2 描述了硬件系统需要提供给本驱动使用的接口函数。 表 1 SYS_IdeHardReset 函数 函数名称 SYS_IdeHardReset 所属文件 SysATA.C 函数原型 uint8 SYS_IdeHardReset (void) 功能描述 ATA 设备硬件复位 编译开关 无 函数参数 无 函数返回值 无 调用模块 Sys_WaitInUS() 延时微秒级函数 特殊说明 和注意要点 使复位引脚 IDE_RST 有效(低电平)保持大于 25 微秒,IDE_RST 无效(高电平)后至 少延迟 2 毫秒才可以对 ATA 设备读写寄存器操作。 范 例 void SYS_IdeHardReset(void) /*基于 ARM LPC2210,GPIO 引脚 IDE_RST*/ { IOCLR = IDE_RST; /* 复位引脚置低 */ SYS_WaitInUS(30); /* 延时大于 25 微秒 */ IOSET = IDE_RST; /* 复位引脚置高 */ SYS_WaitInUS(5000); /* 延时大于 2 毫秒 */ } 表 2 ATA 设备寄存器操作函数列表 函数 输入数据类型 返回数据类型 描述 GetData() 无 unsigned char / unsigned short 读数据寄存器 SetData(x) unsigned char / unsigned short 无 写数据寄存器 GetERR() 无 unsigned char 读错误寄存器 SetFeature(x) unsigned char 无 写特征寄存器 GetSECCNT() 无 unsigned char 读扇区计数寄存器 SetSECCNT(x) unsigned char 无 写扇区计数寄存器 GetSector() 无 unsigned char 读扇区寄存器 SetSector(x) unsigned char 无 写扇区寄存器 GetCylinderLow() 无 unsigned char 读柱面低8位寄存器 SetCylinderLow(x) unsigned char 无 写柱面低8位寄存器 GetCylinderHigh() 无 unsigned char 读柱面高8位寄存器 SetCylinderHigh(x) unsigned char 无 写柱面高8位寄存器 GetDeviceHead() 无 unsigned char 读设备磁头寄存器 SetDeviceHead(x) unsigned char 无 写设备磁头寄存器 GetStatus() 无 unsigned char 读状态寄存器 SetCommand(x) unsigned char 无 写命令寄存器 GetAStatus() 无 unsigned char 读辅助状态寄存器 - 3 -
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有