📄 csl_atareadcommandregs.c
字号:
/* ============================================================================ * Copyright (c) Texas Instruments Inc 2002, 2003, 2004, 2005 * * Use of this software is controlled by the terms and conditions found in the * license agreement under which this software has been supplied. * =========================================================================== *//** @file csl_ataReadCommandRegs.c * * @brief File for functional layer of CSL API CSL_ataReadCommandRegs() * * Path: \\(CSLPATH)\\ipmodules\\ata\\src * *//* ============================================================================= * Revision History * =============== * 08-Oct-2004 kpn Updated according to review comments * 24-Sep-2004 kpn Updated according to CSL Upgradation guidelines. * ============================================================================ */#include <csl_ata.h>/** ============================================================================ * @n@b CSL_ataReadCommandRegs * * @b Description * @n It reads all the command registers. * * @b Arguments * @verbatim hAta Handle to the ATA cmdRegs Pointer to the CSL_AtaCommandBlockRead structure @endverbatim * * <b> Return Value </b> * @n CSL_AtaCommandBlockRead cmdRegs * * <b> Pre Condition </b> * @n None * * <b> Post Condition </b> * @n The cmdRegs structure is populated with the command registers values. * * @b Modifies * @n cmdRegs variable * * @b Example * @verbatim CSL_AtaHandle hAta; CSL_AtaCommandBlockRead cmdRegs; ... CSL_ataReadCommandRegs (hAta, &cmdRegs); ... @endverbatim * ============================================================================ */CSL_AtaCommandBlockRead * CSL_ataReadCommandRegs ( CSL_AtaHandle hAta, CSL_AtaCommandBlockRead *cmdRegs){ register volatile Uint8 *addr = 0; addr = (hAta->ataNum == CSL_ATA_PRIMARY) ? CSL_ATA_CMDREGS_PRIMARY : CSL_ATA_CMDREGS_SECONDARY; cmdRegs->DATA = *(Uint16 *)(addr + (int)CSL_ATA_CMDREGRD_DATA); cmdRegs->ERROR = addr[CSL_ATA_CMDREGRD_ERROR]; cmdRegs->SECTORCOUNT = addr[CSL_ATA_CMDREGRD_SECTORCOUNT]; cmdRegs->SECTORNUMBER = addr[CSL_ATA_CMDREGRD_SECTORNUMBER]; cmdRegs->CYLINDERLOW = addr[CSL_ATA_CMDREGRD_CYLINDERLOW]; cmdRegs->CYLINDERHIGH = addr[CSL_ATA_CMDREGRD_CYLINDERHIGH]; cmdRegs->DEVICEHEAD = addr[CSL_ATA_CMDREGRD_DEVICEHEAD]; cmdRegs->STATUS = addr[CSL_ATA_CMDREGRD_STATUS]; return cmdRegs;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -