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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? csl_spi.h

?? 基于ti tms320c672x下音頻開發(fā)例子程式
?? H
?? 第 1 頁 / 共 3 頁
字號:

/** @brief gets the information for interrupt vectors */
typedef struct CSL_SpiIntVec {
    /** interrupt vector number */
    Uint8  intVal;
    /** status of suspend */
    Bool   suspend;
} CSL_SpiIntVec;


/** @brief gets the status of buffer after a transfer */
typedef struct CSL_SpiBufStat {
    /** status as a bit-vector of the different events */
    Uint8  status;
    /** status of the chip select during last transfer */
    Uint8  cSel;
} CSL_SpiBufStat;


typedef struct CSL_SpiCptData {
    /** Place to hold the data */
    Uint16            data;
    /** Place to hold the status */
    CSL_SpiBufStat *bufStat;
} CSL_SpiCptData;


/** default setting for @a CSL_SpiHwSetup */
#define CSL_SPI_HWSETUP_DEFAULTS { \
    NULL,                             \
    NULL,                             \
    NULL,                             \
    NULL                              \
    }


/** default setting for @a CSL_SpiHwSetupGen */
#define CSL_SPI_HWSETUP_GEN_DEFAULTS { \
    CSL_SPI_PROTOCOL_COMPATIBLE,       \
    CSL_SPI_OPMOD_SLAVE,               \
    CSL_SPI_ENAHIZ_NO,                 \
    0,                                    \
    0,                                    \
    0,                                    \
    0,                                    \
    0                                     \
    }


/** default setting for @a CSL_SpiHwSetupPri */
#define CSL_SPI_HWSETUP_PRI_DEFAULTS { \
    {                                     \
        NULL,                             \
        NULL,                             \
        NULL,                             \
        NULL                              \
    }                                     \
    }


/** default setting for @a CSL_SpiHwSetupPriFmt */
#define CSL_SPI_HWSETUP_PRI_FMT_DEFAULTS { \
    0,                                        \
    0,                                        \
    0,                                        \
    CSL_SPI_WAITEN_NO,                     \
    CSL_SPI_PARITY_DISABLE,                \
    CSL_SPI_PHASE_IN,                      \
    CSL_SPI_SHDIR_LSBFIRST                 \
    }


/** default setting for @a CSL_SpiHwSetupCpt */
#define CSL_SPI_HWSETUP_CPT_DEFAULTS { \
    NULL,                                 \
    NULL                                  \
    }


/** default setting for @a CSL_SpiHwSetupFmtCtrl */
#define CSL_SPI_HWSETUP_FMTCTRL_DEFAULTS { \
    CSL_SPI_CSHOLD_NO,                     \
    CSL_SPI_WDELAYEN_NO,                   \
    CSL_SPI_FMTSEL_0,                      \
    0,                                        \
    }


/** default setting for @a CSL_SpiHwSetupPins */
#define CSL_SPI_HWSETUP_PINS_DEFAULTS { \
    NULL,                                  \
    NULL,                                  \
    NULL,                                  \
    NULL                                   \
    }

/** ===========================================================================
 *   @func CSL_spiOpen
 *
 *   @desc
 *        This function populates the peripheral data object for the instance
 *        and returns a handle to the instance.
 *        The open call sets up the data structures for the particular instance
 *        of SPI device. The device can be re-opened anytime after it has been
 *        normally closed if so required. SPI Hardware setup will be performed
 *        at the end of the open call only if the HwSetup Pointer supplied was
 *        non-NULL. The handle returned by this call is input as an essential
 *        argument for rest of the APIs described for this module.
 *
 *   @arg pSpiObj
 *        Pointer to the SPI instance object
 *
 *   @arg spiNum
 *        Instance of the SPI to be opened.
 *
 *   @arg pSpiParam
 *        Pointer to module specific parameters
 *
 *   @arg pStatus
 *        pointer for returning status of the function call
 *
 *   @ret CSL_SpiHandle
 *        Valid SPI instance handle will be returned if status value is
 *        equal to CSL_SOK.
 *
 *   @eg
 *        CSL_Status        status;
 *        CSL_SpiObj        spiObj;
 *        CSL_SpiHandle     hSpi;
 *
 *        hSpi = CSL_spiOpen (&spiObj,
 *                            CSL_SPI_PER_CNT,
 *                            NULL,
 *                            &status
 *                            );
 *
 * ===========================================================================
 */
/** @brief opens if possible the instance of SPI requested */
CSL_SpiHandle CSL_spiOpen(
    /** pointer to the object that holds reference to the instance of SPI
     * requested after the call */
    CSL_SpiObj                            *hSpiObj,
    /** instance of SPI to which a handle is requested */
    CSL_InstNum                           spiNum,
    /** specifies if SPI should be opened with excusive or share access to
     * the associate pins */
    CSL_SpiParam                          *pSpiParam,
    /** This returns the status (success/errors) of the call */
    CSL_Status                            *status
);

/** ===========================================================================
 *   @func CSL_spiClose
 *
 *   @b Description
 *   @n Unreserves the SPI identified by the handle.
 *
 *   @arg  hSpi
           Handle to the Spi instance
 *
 *   @ret CSL_Status
 *         CSL_SOK            - Close successful
 *         CSL_ESYS_BADHANDLE - Invalid handle
 *
 *   <b> Pre Condition </b>
 *   @n  Both @a CSL_spiInit() and @a CSL_spiOpen() must be called successfully
 *       in that order before @a CSL_spiClose() can be called.
 *
 *   <b> Post Condition </b>
 *   @n  None.
 *
 *   @b Example
 *   @verbatim
        CSL_SpiHandle       hSpi;
        ...
        status = CSL_spiClose (hSpi);
        ...
     @endverbatim
 * =============================================================================
 */
CSL_Status  CSL_spiClose(
    /** Pointer to the object that holds reference to the
     *  instance of SPI requested after the call
     */

    CSL_SpiHandle                         hSpi
);

/** @brief programs the SPI to a useful state as specified */
CSL_Status  CSL_spiHwSetup(
    /** pointer to the object that holds reference to the instance of SPI
     * requested after the call */
    CSL_SpiHandle                         hSpi,
    /** pointer to setup structure which contains the information to program
     * SPI to a useful state */
    CSL_SpiHwSetup                        *hwSetup
);

CSL_Status  CSL_spiGetHwSetup(
    /** pointer to the object that holds reference to the
     * instance of SPI requested after the call */
    CSL_SpiHandle                         hSpi,
    /** the query to this API which indicates the status/setup
     * to be returned */
    CSL_SpiHwSetup                        *setup
);

/** @brief controls the different operations that can be performed by
 * SPI */
CSL_Status  CSL_spiHwControl(
    /** pointer to the object that holds reference to the instance of SPI
     * requested after the call */
    CSL_SpiHandle                         hSpi,
    /** the command to this API which indicates the action to be taken */
    CSL_SpiHwControlCmd                   cmd,
    /** an optional argument @a void* casted */
    void                                     *arg
);


/** ===========================================================================
 *   @func CSL_spiInit
 *
 *   @desc
 *        This function initializes the SPI CSL data structures.
 *
 *   @arg pContext
 *        Context information for SPI
 *
 *   @ret CSL_Status
 *        CSL_SOK - Always returns
 *
 *   @eg
 *     CSL_spiInit (NULL);
 * ============================================================================
 */
CSL_Status  CSL_spiInit(
    CSL_SpiContext * pContext
);


/** ===========================================================================
 *   @func CSL_spiHwSetupRaw
 *
 *   @desc
 *       This function configures the registers of SPI as per the values given
 *       in the Config structure.
 *
 *   @arg hSpi
 *        Handle to the SPI instance
 *
 *   @arg hwConfig
 *        Pointer to SPI config structure
 *
 *   @ret CSL_Status
 *         CSL_SOK             - Configuration successful
 *         CSL_ESYS_BADHANDLE  - Invalid handle
 *
 *   @eg
 *
 *        CSL_Status            status;
 *        CSL_SpiConfig     hwConfig;
 *
 *        status = CSL_spiHwsetupRaw (hSpi, &hwConfig);
 *
 * ===========================================================================
 */

extern CSL_Status  CSL_spiHwSetupRaw (
    CSL_SpiHandle           hSpi,
    CSL_SpiConfig *         config
);

/** @brief returns the status of different operations or the current setup of
 * SPI */
CSL_Status  CSL_spiGetHwStatus(
    /** pointer to the object that holds reference to the instance of SPI
     * requested after the call */
    CSL_SpiHandle                         hSpi,
    /** the query to this API which indicates the status/setup to be
     * returned */
    CSL_SpiHwStatusQuery                  query,
    /** placeholder to return the status; @a void* casted */
    void                                     *response
);

/** ===========================================================================
 *   @n@b CSL_spiGetBaseAddress
 *
 *   @b Description
 *   @n  Function to get the base address of the peripheral instance.
 *       This function is used for getting the base address of the peripheral
 *       instance. This function will be called inside the CSL_spiOpen()
 *       function call. This function is open for re-implementing if the user
 *       wants to modify the base address of the peripheral object to point to
 *       a different location and there by allow CSL initiated write/reads into
 *       peripheral MMR's go to an alternate location.
 *
 *   @b Arguments
 *   @verbatim
            spiNum          Specifies the instance of SPI to be opened.

            pSpiParam       Module specific parameters.

            pBaseAddress    Pointer to baseaddress structure containing base
                            address details.

     @endverbatim
 *
 *   <b> Return Value </b>  CSL_Status
 *   @li                    CSL_OK            Open call is successful
 *   @li                    CSL_ESYS_FAIL     The instance number is invalid.
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  Base Address structure is populated
 *
 *   @b Modifies
 *   @n    1. The status variable
 *
 *         2. Base address structure is modified.
 *
 *   @b Example
 *   @verbatim
        CSL_Status              status;
        CSL_SpiBaseAddress  baseAddress;

       ...
      status = CSL_spiGetBaseAddress(CSL_SPI_PER_CNT, NULL, &baseAddress);

    @endverbatim
 * ============================================================================
 */
extern CSL_Status   CSL_spiGetBaseAddress (
        CSL_InstNum            spiNum,
        CSL_SpiParam *         pSpiParam,
        CSL_SpiBaseAddress *   pBaseAddress
);

#ifdef __cplusplus
}
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的av在线| www国产精品av| 2欧美一区二区三区在线观看视频| 中文字幕一区在线观看| 日本欧美加勒比视频| 91在线国产观看| 国产亚洲视频系列| 日韩av中文字幕一区二区| 99视频一区二区| 国产日产欧美一区| 久久激五月天综合精品| 欧美午夜视频网站| 日韩码欧中文字| 成人妖精视频yjsp地址| 日韩美一区二区三区| 偷拍一区二区三区四区| 色88888久久久久久影院野外| 国产精品乱子久久久久| 韩国精品免费视频| 日韩免费视频一区| 亚洲电影一区二区三区| 日本道精品一区二区三区| 国产精品乱人伦一区二区| 国产电影一区在线| 久久久精品中文字幕麻豆发布| 日日嗨av一区二区三区四区| 欧美亚洲国产bt| 亚洲精品视频观看| 91美女蜜桃在线| 亚洲欧美日韩系列| 99久久久久久99| 一区二区三区在线视频播放 | 欧美亚洲动漫精品| 亚洲精品日韩一| 色哟哟日韩精品| 依依成人精品视频| 欧美午夜精品久久久久久超碰| 亚洲一区二区影院| 欧美日韩精品欧美日韩精品一综合| 亚洲免费观看高清| 欧美日韩中文字幕一区| 视频在线观看91| 精品久久久影院| 国产91对白在线观看九色| 日本一区二区电影| 91久久精品一区二区三| 亚洲成人av中文| 欧美大白屁股肥臀xxxxxx| 精品亚洲porn| 国产精品嫩草影院av蜜臀| 色婷婷综合久久| 免费观看91视频大全| 久久精品夜色噜噜亚洲aⅴ| 菠萝蜜视频在线观看一区| 亚洲永久免费av| 精品入口麻豆88视频| 高清不卡在线观看| 亚洲国产日产av| 精品精品欲导航| 99热这里都是精品| 蜜臂av日日欢夜夜爽一区| 国产日韩欧美不卡| 欧美系列日韩一区| 国产乱人伦精品一区二区在线观看| 国产精品第13页| 日韩欧美www| 色综合网站在线| 精品一区二区三区不卡 | 精品国产一区久久| 成人午夜激情影院| 丝瓜av网站精品一区二区| 国产欧美日韩另类一区| 欧美日韩在线一区二区| 国产精品亚洲视频| 亚洲成人tv网| 亚洲天堂久久久久久久| 日韩免费高清视频| 在线免费观看日本一区| 国产一区二区三区视频在线播放| 亚洲综合免费观看高清完整版 | 国产在线看一区| 亚洲一区二区在线播放相泽| 久久精品夜色噜噜亚洲aⅴ| 欧美三级电影网| aaa欧美日韩| 精品一区二区三区免费毛片爱| 亚洲综合图片区| 国产精品乱码人人做人人爱 | 国产二区国产一区在线观看| 亚洲香肠在线观看| 亚洲日本在线视频观看| 国产亚洲精品精华液| 欧美一级在线观看| 欧美日韩mp4| 欧美在线三级电影| 91老师片黄在线观看| 国产盗摄一区二区| 国内一区二区在线| 激情综合网最新| 久久99精品网久久| 美女网站视频久久| 奇米在线7777在线精品| 亚洲国产cao| 亚洲国产欧美日韩另类综合| 夜夜嗨av一区二区三区中文字幕| 国产精品欧美精品| 国产精品国产三级国产普通话三级| 26uuu国产电影一区二区| 日韩一区二区不卡| 日韩一卡二卡三卡国产欧美| 欧美老肥妇做.爰bbww| 欧美日韩一区二区在线观看| 欧美日韩综合不卡| 91精品国产综合久久精品app | 久久久噜噜噜久噜久久综合| 欧美不卡一区二区三区| 日韩限制级电影在线观看| 91精品欧美福利在线观看| 91精品国产综合久久久久久漫画| 欧美精品在线观看一区二区| 欧美男男青年gay1069videost| 欧美日韩久久一区二区| 欧美一区二区视频在线观看| 91麻豆精品国产91久久久久久 | 4438x成人网最大色成网站| 欧美性色综合网| 欧美麻豆精品久久久久久| 日韩一区二区三区精品视频| 精品区一区二区| 国产精品网站在线观看| 亚洲精品一二三| 热久久久久久久| 国产一区在线不卡| 成人综合激情网| 一本大道久久精品懂色aⅴ| 精品视频在线免费观看| 精品久久久久久久人人人人传媒 | 精品少妇一区二区三区在线播放| 日韩三级视频在线看| 日本一区二区高清| 亚洲自拍都市欧美小说| 奇米四色…亚洲| 成人av电影在线观看| 欧美日韩色综合| 久久嫩草精品久久久精品| 亚洲女厕所小便bbb| 日日夜夜免费精品视频| 成人一级片网址| 欧美巨大另类极品videosbest| 久久久精品免费网站| 亚洲一区二区三区四区在线| 捆绑紧缚一区二区三区视频| 成人午夜免费电影| 91精品国产色综合久久| 国产精品乱码妇女bbbb| 亚洲va欧美va国产va天堂影院| 国产精品自在欧美一区| 欧美伊人久久久久久久久影院| 久久综合九色综合欧美就去吻| 一区二区三区中文字幕精品精品| 久久国产精品99久久久久久老狼| 不卡欧美aaaaa| 精品国产三级电影在线观看| 樱花草国产18久久久久| 国产电影精品久久禁18| 日韩一区二区三区av| 亚洲精品免费播放| 成人在线视频首页| 精品国产乱码久久久久久蜜臀| 亚洲女同一区二区| 成人免费视频国产在线观看| 日韩一级片在线观看| 夜夜嗨av一区二区三区中文字幕| 国产a精品视频| 精品少妇一区二区三区日产乱码 | 日本成人在线网站| 在线观看一区二区视频| 国产精品色婷婷久久58| 国产在线麻豆精品观看| 欧美高清视频在线高清观看mv色露露十八 | 18欧美乱大交hd1984| 国产精品夜夜爽| xf在线a精品一区二区视频网站| 亚洲香肠在线观看| 在线一区二区三区四区| 亚洲日本一区二区| 国产成人精品三级麻豆| 国产情人综合久久777777| 久久激五月天综合精品| 日韩精品一区二区三区蜜臀| 视频一区欧美精品| 91精品欧美一区二区三区综合在| 亚洲国产一区二区视频| 在线视频国内一区二区| 一区二区三区资源| 欧美私人免费视频| 肉丝袜脚交视频一区二区| 欧美一级日韩免费不卡| 蜜臀av一级做a爰片久久| 欧美电视剧免费观看|