_csl_mcbspiomodectrl.c

来自「TI达芬奇dm644x各硬件模块测试代码」· C语言 代码 · 共 93 行

C
93
字号
/** \file _csl_mcbspIoModeCtrl.c
 *
 *  \brief    File for functional layer of CSL API \a _CSL_mcbspIoModeCtrl()
 *
 *  Description
 *    - The \a _CSL_mcbspIoModeCtrl() function Configure selected McBSP
 *      pins for Input/Output
 *
 *  Path: \\(CSLPATH)\\ipmodules\\mcbsp\\src
 *
 */

#include <csl_mcbsp.h>
#include <_csl_mcbsp.h>

#pragma CODE_SECTION (_CSL_mcbspIoModeCtrl, ".text:csl_section:mcbsp");
/** ============================================================================
 *   @n@b _CSL_mcbspIoModeCtrl
 *
 *   @b Description
 *   @n Configure selected McBSP pins for Input/Output
 *
 *   @b Arguments
 *   @verbatim
        hMcbsp       Handle to MCBSP Obj used

        outputSel    Select Pins for output. Bitwise OR of CSL_MCBSP_IO_XXXX

        inputSel     Select Pins for input. Bitwise OR of CSL_MCBSP_IO_XXXX
 *   @endverbatim
 *
 *   <b> Return Value </b> None
 *
 *   @b Example
 *   @verbatim
      ...

      CSL_McbspHandle hMcbsp;
      hMcbsp = CSL_mcbspOpen(hMcbsp, CSL_MCBSP_0, CSL_EXCLUSIVE, &status, NULL);
      _CSL_mcbspIoModeCtrl( hMcbsp,  CSL_MCBSP_IO_CLKX | CSL_MCBSP_IO_CLKR,
                           CSL_MCBSP_IO_FSX | CSL_MCBSP_IO_CLKR );
 *   @endverbatim
 *  ===========================================================================
 */
void  _CSL_mcbspIoModeCtrl(
    CSL_McbspHandle                         hMcbsp,
    CSL_BitMask16                           outputSel,
    CSL_BitMask16                           inputSel
)
{

    if(outputSel & CSL_MCBSP_IO_CLKX)
        CSL_FINS( hMcbsp->regs->PCR,
                  MCBSP_PCR_CLKXM,
                  CSL_MCBSP_PCR_CLKXM_OUTPUT );

    if(outputSel & CSL_MCBSP_IO_FSX)
        CSL_FINS( hMcbsp->regs->PCR,
                  MCBSP_PCR_FSXM,
                  CSL_MCBSP_PCR_FSXM_OUTPUT );

    if(outputSel & CSL_MCBSP_IO_CLKR)
        CSL_FINS( hMcbsp->regs->PCR,
                  MCBSP_PCR_CLKRM,
                  CSL_MCBSP_PCR_CLKRM_OUTPUT );

    if(outputSel & CSL_MCBSP_IO_FSR)
        CSL_FINS( hMcbsp->regs->PCR,
                  MCBSP_PCR_FSRM,
                  CSL_MCBSP_PCR_FSRM_OUTPUT );

    if(inputSel & CSL_MCBSP_IO_CLKX)
        CSL_FINS( hMcbsp->regs->PCR,
                  MCBSP_PCR_CLKXM,
                  CSL_MCBSP_PCR_CLKXM_INPUT );

    if(inputSel & CSL_MCBSP_IO_FSX)
        CSL_FINS( hMcbsp->regs->PCR,
                  MCBSP_PCR_FSXM,
                  CSL_MCBSP_PCR_FSXM_INPUT );

    if(inputSel & CSL_MCBSP_IO_CLKR)
        CSL_FINS( hMcbsp->regs->PCR,
                  MCBSP_PCR_CLKRM,
                  CSL_MCBSP_PCR_CLKRM_INPUT );

    if(inputSel & CSL_MCBSP_IO_FSR)
        CSL_FINS( hMcbsp->regs->PCR,
                  MCBSP_PCR_FSRM,
                  CSL_MCBSP_PCR_FSRM_INPUT );
}

⌨️ 快捷键说明

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