📄 csl_vfocopen.c
字号:
/** @file csl_vfocOpen.c
*
* @brief File for functional layer of CSL API @a CSL_vfocOpen()
*
* Description
* - The @a CSL_vfocOpen() function definition & it's associated functions
*
* Modification 1
* - Created on: 10/06/2004
* - Reason: Created the sources
*
* @date 10th June, 2004
* @author Santosh Narayanan.
*/
#include <csl_vfoc.h>
#include <_csl_resource.h>
#pragma CODE_SECTION (CSL_vfocOpen, ".text:csl_section:vfoc");
extern void _CSL_vfocGetAttrs(CSL_VfocNum vfocNum , CSL_VfocHandle hVfoc);
/** @brief Reserves the specified VFOC for use.
*/
CSL_VfocHandle CSL_vfocOpen (
/** Pointer to the object that holds reference to the
* instance of VFOC requested after the call
*/
CSL_VfocObj *hVfocObj,
/** Instance of VFOC to which a handle is requested
*/
CSL_VfocNum vfocNum,
/** Specifies if VFOC should be opened with exclusive or
* shared access to the associate pins
*/
CSL_OpenMode openMode,
/** This returns the status (success/errors) of the call
*/
CSL_Status *status
){
CSL_VfocNum vfocInst;
CSL_VfocHandle hVfoc = (CSL_VfocHandle)NULL;
hVfocObj->openMode = openMode;
if (vfocNum >= 0 ) {
_CSL_vfocGetAttrs(vfocNum, hVfocObj);
hVfoc = (CSL_VfocHandle)_CSL_certifyOpen((CSL_ResHandle)hVfocObj, status);
}
else {
for(vfocInst=(CSL_VfocNum)0;vfocInst < (CSL_VfocNum)CSL_VFOC_PER_CNT;++vfocInst){
_CSL_vfocGetAttrs(vfocInst, hVfocObj);
hVfoc = (CSL_VfocHandle)_CSL_certifyOpen((CSL_ResHandle)hVfocObj, status);
if (*status == CSL_SOK)
break;
}
if (vfocInst == CSL_VFOC_PER_CNT)
*status = CSL_ESYS_OVFL;
}
return hVfoc;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -