亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? csl_spiaux.h

?? 基于ti tms320c672x下音頻開發例子程式
?? H
?? 第 1 頁 / 共 3 頁
字號:
            hSpi            Handle to SPI instance
            cmd             command to enable or disable interrupts
            intVal          interrupt value

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_spiInt (hSpi, cmd, intVal);

     @endverbatim
 * ===========================================================================
 */
static inline
void CSL_spiInt(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                  hSpi,
    CSL_SpiHwControlCmd            cmd,
    Uint16                         intVal
)
{
    if (CSL_SPI_CMD_INT_ENABLE == cmd) {
        hSpi->regs->SPIINT0 |= intVal;
    }
    else if (CSL_SPI_CMD_INT_DISABLE == cmd) {
        hSpi->regs->SPIINT0 &= ~intVal;
    }
}

/** ============================================================================
 *   @n@b CSL_spiPins
 *
 *   @b Description
 *   @n This function sets/clears the PC3/4/5 registers of the SPI module.
 *
 *   @b Arguments
 *   @verbatim
            hSpi            Handle to SPI instance
            cmd             command to set the PC3/4/5 registers
            pinVal          value to be set

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_spiPins (hSpi, cmd, pinVal);

     @endverbatim
 * ===========================================================================
 */
static inline
void CSL_spiPins(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                  hSpi,
    CSL_SpiHwControlCmd            cmd,
    Uint32                         pinVal
)
{
    if (CSL_SPI_CMD_PINS_VALUE == cmd) {
        hSpi->regs->SPIPC3 = pinVal;
    }
    else if (CSL_SPI_CMD_PINS_SET == cmd) {
        hSpi->regs->SPIPC4 = pinVal;
    }
    else if (CSL_SPI_CMD_PINS_CLEAR == cmd) {
        hSpi->regs->SPIPC5 = pinVal;
    }
}

/** ============================================================================
 *   @n@b CSL_spiXferCtrl
 *
 *   @b Description
 *   @n This function configures the transmission params for the SPI module.
 *
 *   @b Arguments
 *   @verbatim
            hSpi            Handle to SPI instance
            xferEn          Enable/hiold the SPI in reset

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_spiXferCtrl (hSpi, xferEn);

     @endverbatim
 * ===========================================================================
 */
static inline
void CSL_spiXferCtrl(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                  hSpi,
    CSL_SpiXferEn                  xferEn
)
{
    CSL_FINS(hSpi->regs->SPIGCR1, SPI_SPIGCR1_SPIEN, xferEn);
}

/** ============================================================================
 *   @n@b CSL_spiHwSetupPriFmt
 *
 *   @b Description
 *   @n This function sets up the SPI a/c to Hwsetup structure of SPI.
 *
 *   @b Arguments
 *   @verbatim
            hSpi            Handle to SPI instance
            fmtNum          Format register
            *confFmt        pointer to h/w setup fmt structure

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_spiHwSetupPriFmt (hSpi, fmtNum, &conffmt);

     @endverbatim
 * ===========================================================================
 */
static inline
void CSL_spiHwSetupPriFmt(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                  hSpi,
    /** instance number of the format register to setup */
    Uint8                          fmtNum,
    /** setup structure for the format register */
    CSL_SpiHwSetupPriFmt           *confFmt
)
{
    hSpi->regs->SPIFMT[fmtNum] = CSL_FMK(SPI_SPIFMT_WDELAY,
                        confFmt->wDelay) |
                                    CSL_FMK(SPI_SPIFMT_PRESCALE,
                        confFmt->preScale) |
                                    CSL_FMK(SPI_SPIFMT_CHARLEN,
                        confFmt->charLen) |
                                    CSL_FMK(SPI_SPIFMT_WAITEN,
                        confFmt->waitEna) |
                                    CSL_FMKR(confFmt->parity, 23, 22) |
                                    CSL_FMK(SPI_SPIFMT_POLARITY,
                        confFmt->polarity) |
                                    CSL_FMK(SPI_SPIFMT_PHASE,
                        confFmt->phase) |
                                    CSL_FMK(SPI_SPIFMT_SHIFTDIR,
                        confFmt->shiftDir);
}

/** ============================================================================
 *   @n@b CSL_spiHwSetupCptInt
 *
 *   @b Description
 *   @n This function sets the interrupt level of the SPI module.
 *
 *   @b Arguments
 *   @verbatim
            hSpi            Handle to SPI instance
            intVal          bit-vector for interrupts

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_spiHwSetupCptInt (hSpi, intVal);

     @endverbatim
 * ===========================================================================
 */
static inline
void CSL_spiHwSetupCptInt(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                  hSpi,
    /** bit-vector for interrupts */
    Uint32                         intVal
)
{
    hSpi->regs->SPILVL = intVal;
}


/** ============================================================================
 *   @n@b CSL_spiHwSetupGen
 *
 *   @b Description
 *   @n This function does the hardware setup of the SPI module.
 *
 *   @b Arguments
 *   @verbatim
            hSpi            Handle to SPI instance
            *genPtr         pointer to the HW setup gen structure

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_spiHwSetupGen (hSpi, &genPtr);

     @endverbatim
 * ===========================================================================
 */
static inline
void CSL_spiHwSetupGen(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                  hSpi,
    CSL_SpiHwSetupGen              *genPtr
)
{
    CSL_SpiRegsOvly regsPtr = hSpi->regs;
    Uint32 temp;

    CSL_FINS(regsPtr->MIBSPIE, SPI_MIBSPIE_MIBSPIENA, genPtr->protocol);

    temp = regsPtr->SPIGCR1;
    CSL_FINS(temp, SPI_SPIGCR1_CLKMOD, CSL_FEXTR(genPtr->opMode, 1, 1));
    CSL_FINS(temp, SPI_SPIGCR1_MASTER, CSL_FEXTR(genPtr->opMode, 0, 0));
    regsPtr->SPIGCR1 = temp;

    CSL_FINS(regsPtr->SPIINT0, SPI_SPIINT0_ENABLEHIGHZ, genPtr->enaHiZ);

    temp = CSL_FMK(SPI_SPIDELAY_C2TDELAY, genPtr->c2tDelay) |
           CSL_FMK(SPI_SPIDELAY_T2CDELAY, genPtr->t2cDelay) |
           CSL_FMK(SPI_SPIDELAY_T2EDELAY, genPtr->t2eTmout) |
           CSL_FMK(SPI_SPIDELAY_C2EDELAY, genPtr->c2eTmout);
    regsPtr->SPIDELAY = temp;
}

/** ============================================================================
 *   @n@b CSL_spiHwSetupGpio
 *
 *   @b Description
 *   @n This function sets up the PC0/1/6/7 registers of the SPI module.
 *
 *   @b Arguments
 *   @verbatim
            hSpi            Handle to SPI instance
            gpioType        gpiotype
            value           value to be set

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_spiHwSetupGpio (hSpi, gpioType, value);

     @endverbatim
 * ===========================================================================
 */
static inline
void CSL_spiHwSetupGpio(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                  hSpi,
    CSL_SpiGpioType               gpioType,
    Uint32                         value
)
{
    switch (gpioType) {
        case CSL_SPI_GPIOTYPE_FUNC:
            hSpi->regs->SPIPC0 = value;
            break;

        case CSL_SPI_GPIOTYPE_DIR:
            hSpi->regs->SPIPC1 = value;
            break;

        case CSL_SPI_GPIOTYPE_PULLCTRL:
            hSpi->regs->SPIPC7 = value;
            break;

        case CSL_SPI_GPIOTYPE_OPNDRAIN:
            hSpi->regs->SPIPC6 = value;
            break;
    }
}

/** ============================================================================
 *   @n@b CSL_spiHwSetupCptFmtCtrl
 *
 *   @b Description
 *   @n This function sets up the SPI a/c to fmtCtrl structure.
 *
 *   @b Arguments
 *   @verbatim
            hSpi            Handle to SPI instance
            *fmtCtrlPtr     pointer to the fmtCtrl Structure

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_spiHwSetupCptFmtCtrl (hSpi, &fmtCtrlPtr);

     @endverbatim
 * ===========================================================================
 */
static inline
void CSL_spiHwSetupCptFmtCtrl(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                  hSpi,
    CSL_SpiHwSetupFmtCtrl          *fmtCtrlPtr
)
{
    Uint32 temp;
    temp = CSL_FMK(SPI_SPIDAT1_CSHOLD, fmtCtrlPtr->csHold) |
           CSL_FMK(SPI_SPIDAT1_WDEL, fmtCtrlPtr->wDel) |
           CSL_FMK(SPI_SPIDAT1_DFSEL, fmtCtrlPtr->fmtSel) |
           CSL_FMK(SPI_SPIDAT1_CSNR, fmtCtrlPtr->cSel);
    CSL_FINSR(hSpi->regs->SPIDAT1, 32, 16, CSL_FEXTR(temp, 32, 16));
}

#ifdef __cplusplus
}
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美一区二区三区| 91蝌蚪porny九色| 夜夜操天天操亚洲| 国内精品免费在线观看| 99国产精品视频免费观看| 欧美日韩国产免费一区二区| 欧美激情综合网| 国产精品综合在线视频| 色偷偷成人一区二区三区91| 精品国产污污免费网站入口 | 欧美精品一二三| 中文字幕不卡在线观看| 午夜精品久久久久久| 国产一区二区视频在线| 国产欧美综合色| 亚洲精品精品亚洲| 男男成人高潮片免费网站| 精品一区二区三区在线播放视频| 欧美日韩综合不卡| 免费看日韩a级影片| 久久久久久久久久久久久久久99 | 欧美日韩国产另类不卡| 男女性色大片免费观看一区二区| 精品动漫一区二区三区在线观看 | 91官网在线观看| 久久精品999| 成人欧美一区二区三区黑人麻豆 | 欧美一二三区在线观看| 岛国精品在线播放| 天涯成人国产亚洲精品一区av| 久久久国际精品| 亚洲成人综合在线| 欧美日韩一二三区| 性做久久久久久久免费看| 粉嫩aⅴ一区二区三区四区| 亚洲精品乱码久久久久久| 日韩欧美一级二级三级| eeuss影院一区二区三区| 奇米综合一区二区三区精品视频| 国产精品女同互慰在线看| 欧美久久一区二区| k8久久久一区二区三区| 日韩**一区毛片| 亚洲三级小视频| 久久免费的精品国产v∧| 欧美三级日本三级少妇99| 国产成人综合精品三级| 蜜臀av一区二区在线观看| 亚洲免费在线播放| 国产精品欧美久久久久无广告| 日韩一区二区在线观看视频| 色国产精品一区在线观看| 国产+成+人+亚洲欧洲自线| 日韩—二三区免费观看av| 亚洲精品成人精品456| 国产欧美一区二区在线| 日韩精品一区二区在线| 欧美日韩一区二区在线观看| 99精品视频免费在线观看| 国产毛片精品视频| 日本中文字幕一区二区视频 | 日韩精品中午字幕| 欧美午夜寂寞影院| 一本大道久久a久久综合| 丁香激情综合国产| 国产一区二区电影| 黄一区二区三区| 狠狠色狠狠色合久久伊人| 免费成人av资源网| 奇米精品一区二区三区在线观看| 亚洲第一主播视频| 亚洲国产aⅴ天堂久久| 一区二区三区四区不卡在线| 亚洲乱码国产乱码精品精小说| 国产精品网友自拍| 国产精品乱人伦中文| 国产精品拍天天在线| 国产精品久99| 亚洲精品福利视频网站| 国产精品女同互慰在线看| 亚洲另类春色国产| 亚洲精品一区二区三区99| 亚洲成人福利片| 亚洲欧美一区二区三区极速播放| 综合色天天鬼久久鬼色| 自拍偷在线精品自拍偷无码专区| 国产精品久久久久久久裸模| 中文字幕在线观看不卡视频| 日韩理论片中文av| 国产精品三级av| 最新欧美精品一区二区三区| 亚洲激情男女视频| 亚洲3atv精品一区二区三区| 日本欧美一区二区在线观看| 紧缚奴在线一区二区三区| 国产乱码精品1区2区3区| 国产成人av一区二区三区在线| 成人免费看视频| 91麻豆视频网站| 777奇米四色成人影色区| 精品国一区二区三区| 国产精品日韩成人| 亚洲国产精品一区二区www在线| 日本在线不卡一区| 国产精品亚洲一区二区三区妖精| 欧美国产禁国产网站cc| 中文成人综合网| 色综合天天视频在线观看| 在线影视一区二区三区| 日韩西西人体444www| 国产午夜精品一区二区三区嫩草 | 4438x成人网最大色成网站| 2021中文字幕一区亚洲| 最新热久久免费视频| 免费在线成人网| 99久久精品免费精品国产| 欧美日韩精品一区视频| 久久久亚洲高清| 一卡二卡三卡日韩欧美| 开心九九激情九九欧美日韩精美视频电影| 国产精品综合久久| 欧美色图第一页| 中文字幕精品一区二区三区精品| 亚洲国产一区在线观看| 国产一区二区三区香蕉| 在线精品视频一区二区三四| 久久青草欧美一区二区三区| 亚洲成人在线免费| 9i在线看片成人免费| 日韩欧美一区二区免费| 亚洲激情自拍视频| 色欧美88888久久久久久影院| 99久久婷婷国产综合精品| 91在线观看美女| 欧美精品一区二区不卡| 亚洲综合一区二区精品导航| 国产一区二区0| 91精品国产综合久久福利| 亚洲裸体在线观看| 国产精品一线二线三线精华| 在线成人午夜影院| ㊣最新国产の精品bt伙计久久| 久久国产人妖系列| 欧美精品日韩一本| 一区二区三区四区在线| av亚洲精华国产精华精| 久久精品视频免费| 久久成人18免费观看| 这里只有精品视频在线观看| 一区二区三区在线免费观看| 99精品在线免费| 国产精品妹子av| 成人三级伦理片| 久久精品视频免费观看| 国产麻豆91精品| 26uuu久久综合| 国内久久精品视频| 日韩美一区二区三区| 日韩成人一区二区| 欧美久久免费观看| 日韩精品乱码av一区二区| 欧美日韩国产一区二区三区地区| 一区在线观看免费| 风间由美一区二区三区在线观看 | 国模无码大尺度一区二区三区| 99久久久无码国产精品| 久久久高清一区二区三区| 国产一区二区久久| 日韩美一区二区三区| 另类综合日韩欧美亚洲| 欧美精品在线一区二区| 青青草成人在线观看| 日韩美一区二区三区| 秋霞av亚洲一区二区三| 日韩精品在线一区二区| 天堂一区二区在线| 日韩你懂的电影在线观看| 一区二区三区.www| 欧美福利视频导航| 久久精品国产99| 欧美一区二区三区小说| 韩国三级电影一区二区| 欧美xingq一区二区| 国产一区二区免费看| 国产精品视频九色porn| 成人午夜私人影院| 亚洲精品免费在线观看| 91丝袜美女网| 午夜久久久久久久久| 99精品欧美一区二区三区小说 | 国产福利一区在线| 色综合夜色一区| 亚洲一区二区三区四区五区黄 | 国产91综合网| 精品久久国产字幕高潮| 国产精品正在播放| 亚洲天堂精品视频| 欧美少妇bbb| 国产精品一区三区| 精品三级在线看|