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

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

?? xgpio_intr.c

?? <基于fpga的嵌入式設計上的光盤的第四章第二個實驗
?? C
字號:
/* $Id *//********************************************************************************       XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"*       AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND*       SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE,*       OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,*       APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION*       THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,*       AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE*       FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY*       WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE*       IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR*       REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF*       INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS*       FOR A PARTICULAR PURPOSE.**       (c) Copyright 2002 - 2004 Xilinx Inc.*       All rights reserved.*******************************************************************************//*****************************************************************************//*** @file xgpio_intr.c** Implements GPIO interrupt processing functions for the XGpio * component. See xgpio.h for more information about the component.* * The functions in this file require the hardware device to be built with * interrupt capabilities. The functions will assert if called using hardware* that does not have interrupt capabilities.** <pre>* MODIFICATION HISTORY:** Ver   Who  Date     Changes* ----- ---- -------- -----------------------------------------------* 2.00a jhl  11/26/03 Initial release* </pre>******************************************************************************//***************************** Include Files ********************************/#include "xgpio.h"#include "xipif_v1_23_b.h"/************************** Constant Definitions ****************************//* The following constant describes the offset of the interrupt registers * that are contained in the IPIF.  This offset should be added to the base * address of the device when using the IPIF access functions. */#define XGPIO_IPIF_OFFSET 0x100/**************************** Type Definitions ******************************//***************** Macros (Inline Functions) Definitions ********************//************************** Variable Definitions ****************************//************************** Function Prototypes *****************************//****************************************************************************//*** Enable the interrupt output signal. Interrupts enabled through* XGpio_InterruptEnable() will not be passed through until the global enable* bit is set by this function.  This function is designed to allow all * interrupts (both channels) to be enabled easily for exiting a critical* section. This function will assert if the hardware device has not been * built with interrupt capabilities.** @param InstancePtr is the GPIO component to operate on.* * @return** None.** @note** None.******************************************************************************/void XGpio_InterruptGlobalEnable(XGpio *InstancePtr){    XASSERT_VOID(InstancePtr != XNULL);    XASSERT_VOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);    XASSERT_VOID(InstancePtr->InterruptPresent == XTRUE);    XIIF_V123B_GINTR_ENABLE(InstancePtr->BaseAddress + XGPIO_IPIF_OFFSET);}/****************************************************************************//*** Disable the interrupt output signal. Interrupts enabled through* XGpio_InterruptEnable() will no longer be passed through until the global * enable bit is set by XGpio_InterruptGlobalEnable(). This function is * designed to allow all interrupts (both channels) to be disabled easily for* entering a critical section. This function will assert if the hardware * device has not been built with interrupt capabilities.** @param InstancePtr is the GPIO component to operate on.** @return** None.* * @note** None.******************************************************************************/void XGpio_InterruptGlobalDisable(XGpio *InstancePtr){    XASSERT_VOID(InstancePtr != XNULL);    XASSERT_VOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);    XASSERT_VOID(InstancePtr->InterruptPresent == XTRUE);        XIIF_V123B_GINTR_DISABLE(InstancePtr->BaseAddress + XGPIO_IPIF_OFFSET); }/****************************************************************************//*** Enable interrupts. The global interrupt must also be enabled by calling* XGpio_InterruptGlobalEnable() for interrupts to occur. This function will * assert if the hardware device has not been built with interrupt capabilities.** @param InstancePtr is the GPIO component to operate on.* @param Mask is the mask to enable. Bit positions of 1 are enabled. This mask*        is formed by OR'ing bits from XGPIO_IR* bits which are contained in *        xgpio_l.h.* * @return** None.* * @note** None.******************************************************************************/void XGpio_InterruptEnable(XGpio *InstancePtr, Xuint32 Mask){    Xuint32 Register;    XASSERT_VOID(InstancePtr != XNULL);    XASSERT_VOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);    XASSERT_VOID(InstancePtr->InterruptPresent == XTRUE);    /* Read the interrupt enable register and only enable the specified     * interrupts without disabling or enabling any others.     */      Register = XIIF_V123B_READ_IIER(InstancePtr->BaseAddress +                                     XGPIO_IPIF_OFFSET);    XIIF_V123B_WRITE_IIER(InstancePtr->BaseAddress + XGPIO_IPIF_OFFSET,                           Mask | Register);}/****************************************************************************//*** Disable interrupts. This function allows specific interrupts for each * channel to be disabled. This function will assert if the hardware device * has not been built with interrupt capabilities. ** @param InstancePtr is the GPIO component to operate on.* @param Mask is the mask to disable. Bits set to 1 are disabled. This mask *        is formed by OR'ing bits from XGPIO_IR* bits which are contained in *        xgpio_l.h.* * @return** None.* * @note** None.******************************************************************************/void XGpio_InterruptDisable(XGpio *InstancePtr, Xuint32 Mask){    Xuint32 Register;    XASSERT_VOID(InstancePtr != XNULL);    XASSERT_VOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);    XASSERT_VOID(InstancePtr->InterruptPresent == XTRUE);    /* Read the interrupt enable register and only disable the specified     * interrupts without enabling or disabling any others.     */      Register = XIIF_V123B_READ_IIER(InstancePtr->BaseAddress +                                     XGPIO_IPIF_OFFSET);    XIIF_V123B_WRITE_IIER(InstancePtr->BaseAddress + XGPIO_IPIF_OFFSET,                           Mask & ~Register);}/****************************************************************************//*** Clear pending interrupts with the provided mask. This function should be* called after the software has serviced the interrupts that are pending.* This function will assert if the hardware device has not been built with * interrupt capabilities.* * @param InstancePtr is the GPIO component to operate on.* @param Mask is the mask to clear pending interrupts for. Bit positions of 1 *        are cleared. This mask is formed by OR'ing bits from*        XGPIO_IR* bits which are contained in xgpio_l.h.* * @return** None.* * @note** None.******************************************************************************/void XGpio_InterruptClear(XGpio *InstancePtr, Xuint32 Mask){    Xuint32 Register;    XASSERT_VOID(InstancePtr != XNULL);    XASSERT_VOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);        XASSERT_VOID(InstancePtr->InterruptPresent == XTRUE);    /* Read the interrupt status register and only clear the interrupts      * that are specified without affecting any others.  Since the register     * is a toggle on write, make sure any bits to be written are already      * set.     */      Register = XIIF_V123B_READ_IISR(InstancePtr->BaseAddress +                                     XGPIO_IPIF_OFFSET);    XIIF_V123B_WRITE_IISR(InstancePtr->BaseAddress + XGPIO_IPIF_OFFSET,                           Register & Mask);}/****************************************************************************//*** Returns the interrupt enable mask. This function will assert if the * hardware device has not been built with interrupt capabilities.** @param InstancePtr is the GPIO component to operate on.* * @return A mask of bits made from XGPIO_IR* bits which are contained in *         xgpio_l.h.  ** @return** None.* * @note** None.******************************************************************************/Xuint32 XGpio_InterruptGetEnabled(XGpio *InstancePtr){    XASSERT_NONVOID(InstancePtr != XNULL);    XASSERT_NONVOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);        XASSERT_NONVOID(InstancePtr->InterruptPresent == XTRUE);    return XIIF_V123B_READ_IIER(InstancePtr->BaseAddress + XGPIO_IPIF_OFFSET);}/****************************************************************************//*** Returns the status of interrupt signals. Any bit in the mask set to 1 * indicates that the channel associated with the bit has asserted an interrupt* condition. This function will assert if the hardware device has not been * built with interrupt capabilities.** @param InstancePtr is the GPIO component to operate on.* * @return A pointer to a mask of bits made from XGPIO_IR* bits which are *         contained in xgpio_l.h.  ** @note** The interrupt status indicates the status of the device irregardless if* the interrupts from the devices have been enabled or not through* XGpio_InterruptEnable().******************************************************************************/Xuint32 XGpio_InterruptGetStatus(XGpio *InstancePtr){    XASSERT_NONVOID(InstancePtr != XNULL);    XASSERT_NONVOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);        XASSERT_NONVOID(InstancePtr->InterruptPresent == XTRUE);    return XIIF_V123B_READ_IISR(InstancePtr->BaseAddress + XGPIO_IPIF_OFFSET);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级生活片| 精品国产乱码久久久久久图片 | 色婷婷综合中文久久一本| 欧美影院午夜播放| 日韩女优制服丝袜电影| 国产精品久久影院| 国产成人自拍高清视频在线免费播放| 91久久一区二区| 日本一区二区电影| 韩日av一区二区| 91精品国产综合久久婷婷香蕉| 亚洲四区在线观看| 国产精品一色哟哟哟| 日韩精品专区在线影院重磅| 午夜影院久久久| 欧美中文字幕一区| 最新高清无码专区| 成人免费高清在线| 日本一区二区综合亚洲| 国产经典欧美精品| 欧美mv和日韩mv国产网站| 亚洲不卡一区二区三区| 91免费在线视频观看| 国产偷国产偷亚洲高清人白洁| 精品在线你懂的| 亚洲精品在线一区二区| 激情欧美一区二区| 2019国产精品| 国v精品久久久网| 欧美激情中文字幕一区二区| 国产精品18久久久| 国产精品视频观看| www.成人网.com| 一区免费观看视频| 91麻豆国产自产在线观看| 怡红院av一区二区三区| 欧美视频精品在线| 日本va欧美va欧美va精品| 91精品久久久久久久91蜜桃| 麻豆专区一区二区三区四区五区| 日韩视频免费直播| 国产精品一区二区久激情瑜伽| 国产婷婷色一区二区三区四区| 福利电影一区二区| 亚洲欧美激情一区二区| 欧美日韩中文字幕精品| 奇米色一区二区| 国产拍欧美日韩视频二区| 9色porny自拍视频一区二区| 伊人婷婷欧美激情| 7878成人国产在线观看| 久久国产精品99久久人人澡| 久久久久久久久97黄色工厂| 91在线免费视频观看| 亚洲成人激情av| 久久久综合激的五月天| 91一区二区三区在线播放| 亚洲第一会所有码转帖| 精品国产乱码久久久久久蜜臀| 高清在线成人网| 亚洲人123区| 91精品国产手机| 国产98色在线|日韩| 一区二区激情视频| 久久网这里都是精品| 在线观看一区二区视频| 国产综合久久久久影院| 亚洲乱码日产精品bd| 欧美大片在线观看一区二区| 91在线免费看| 韩国v欧美v日本v亚洲v| 亚洲线精品一区二区三区八戒| 精品国产sm最大网站| 欧美日韩一区二区三区不卡| 国产福利精品导航| 日韩精品电影在线| 一区二区三区四区在线| 国产午夜精品一区二区| 欧美浪妇xxxx高跟鞋交| av不卡在线观看| 精品一区二区在线看| 亚洲福利一二三区| 欧美激情在线一区二区三区| 337p亚洲精品色噜噜噜| 色吧成人激情小说| 国产超碰在线一区| 极品美女销魂一区二区三区| 午夜精品久久久久久久久久久| 国产精品麻豆欧美日韩ww| 欧美乱妇15p| 在线一区二区视频| av不卡一区二区三区| 国产91精品精华液一区二区三区| 日韩av一级片| 亚洲成人午夜电影| 一区二区三区不卡在线观看| 国产精品区一区二区三区| 久久久噜噜噜久久中文字幕色伊伊 | 午夜欧美一区二区三区在线播放| 国产精品毛片a∨一区二区三区| 久久蜜臀精品av| 欧美成人aa大片| 日韩一区二区三| 在线成人高清不卡| 欧美精品123区| 欧美日韩一区三区| 一本色道**综合亚洲精品蜜桃冫| 成人免费毛片高清视频| 国产xxx精品视频大全| 国产精品一区二区在线观看网站| 精品一区在线看| 国产毛片精品视频| 懂色av一区二区夜夜嗨| www.在线成人| 91在线观看下载| 日本乱人伦aⅴ精品| 欧洲人成人精品| 欧美另类z0zxhd电影| 欧美精品v国产精品v日韩精品| 欧美丰满少妇xxxxx高潮对白| 在线观看视频一区二区欧美日韩| 欧洲精品视频在线观看| 欧美日韩国产综合久久| 91天堂素人约啪| 欧美性videosxxxxx| 欧美日本不卡视频| 精品嫩草影院久久| 国产日产亚洲精品系列| 亚洲品质自拍视频网站| 午夜视频在线观看一区二区三区 | 国产精品性做久久久久久| 国产99精品国产| 一本大道久久a久久综合婷婷| 欧美日韩dvd在线观看| 日韩一区二区三区免费观看| 久久蜜臀精品av| 樱花影视一区二区| 麻豆成人在线观看| 不卡影院免费观看| 欧美人牲a欧美精品| 2020国产精品自拍| 日韩一区在线播放| 水蜜桃久久夜色精品一区的特点| 精品一区二区三区久久久| av午夜一区麻豆| 欧美一区二区三区视频免费播放 | 91在线视频观看| 欧美肥妇bbw| 国产欧美一区二区精品婷婷 | 欧美一卡2卡三卡4卡5免费| 久久无码av三级| 亚洲国产成人porn| 国产黑丝在线一区二区三区| 在线免费观看视频一区| 久久亚区不卡日本| 午夜激情一区二区三区| 国产成人av电影在线播放| 欧美人成免费网站| 国产精品卡一卡二卡三| 久久国产夜色精品鲁鲁99| 97se亚洲国产综合自在线不卡| 欧美精品黑人性xxxx| 亚洲国产高清在线| 久久99精品国产麻豆婷婷| 在线看国产一区| 国产精品私人影院| 精品亚洲成a人| 欧美群妇大交群中文字幕| 日韩一区在线免费观看| 国产美女一区二区| 日韩欧美国产一区二区三区| 亚洲另类春色校园小说| 懂色av中文字幕一区二区三区| 日韩欧美另类在线| 亚洲成人www| 一本一道综合狠狠老| 中文字幕免费观看一区| 精品一区二区三区不卡| 欧美日韩成人综合天天影院 | 欧美日韩激情在线| 亚洲综合一二三区| av激情综合网| 亚洲欧洲在线观看av| 成人av网站免费观看| 国产农村妇女精品| 高清av一区二区| 中文字幕av一区二区三区高| 国产精品一二三| 国产欧美一区二区精品婷婷| 国产精品一区三区| 久久精品亚洲精品国产欧美kt∨ | 久久9热精品视频| 日韩精品综合一本久道在线视频| 日韩成人免费看| 日韩一级二级三级| 免费成人av在线播放| 日韩欧美一级特黄在线播放| 日本在线不卡一区| 日韩免费一区二区| 狠狠色丁香久久婷婷综合丁香|