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

📄 csl_vfocopen.c

📁 TI达芬奇dm644x各硬件模块测试代码
💻 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 + -