亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久免费的精品国产v∧| 一区二区三区视频在线观看| 日韩三级伦理片妻子的秘密按摩| 色哟哟精品一区| 91丨porny丨最新| 99精品视频在线免费观看| av电影在线不卡| 色中色一区二区| 欧美日韩精品一区二区三区四区 | 亚洲午夜激情网站| 亚洲一区二区三区不卡国产欧美| 亚洲一区二区三区在线看| 亚洲综合在线免费观看| 亚洲一二三区视频在线观看| 亚洲一区在线观看网站| 亚洲h在线观看| 美日韩一级片在线观看| 激情伊人五月天久久综合| 国产伦精品一区二区三区免费迷| 国产麻豆精品在线| eeuss鲁片一区二区三区| 一本到不卡精品视频在线观看| 欧美在线观看你懂的| 久久久精品国产免大香伊| 欧美极品少妇xxxxⅹ高跟鞋 | 日韩精品久久理论片| 九九久久精品视频| 成人av网站免费观看| 日本二三区不卡| 91精品中文字幕一区二区三区| 欧美一级爆毛片| 中文字幕第一区二区| 亚洲精品ww久久久久久p站| 视频一区中文字幕| 国产黄色精品网站| 色网站国产精品| 欧美一区二区福利视频| 国产欧美日产一区| 亚洲蜜臀av乱码久久精品蜜桃| 日韩精品每日更新| 国产精品一区在线| 欧美色视频在线| 国产亚洲精品aa| 亚洲国产日韩一级| 国产乱子伦视频一区二区三区| 色综合视频在线观看| 日韩一区二区三区四区五区六区| 亚洲国产成人午夜在线一区| 亚洲国产综合在线| 国产高清久久久| 精品视频在线免费观看| 久久久久久综合| 午夜精品影院在线观看| 盗摄精品av一区二区三区| 欧美高清你懂得| 国产精品久久久久婷婷| 青青草成人在线观看| 99re热视频精品| 欧美精品一区二区三区久久久| 亚洲视频你懂的| 国产精品系列在线观看| 欧美狂野另类xxxxoooo| 国产精品嫩草影院av蜜臀| 视频一区二区三区在线| av一区二区三区黑人| 欧美不卡在线视频| 亚洲3atv精品一区二区三区| 成人爱爱电影网址| 日韩欧美123| 亚洲国产一区二区在线播放| 成人综合日日夜夜| 精品国产123| 欧美午夜影院一区| 国产欧美一区二区三区在线老狼| 日韩黄色免费电影| 欧洲亚洲国产日韩| 中文字幕亚洲一区二区va在线| 久久国内精品视频| 欧美高清激情brazzers| 一区二区在线免费| 91免费看视频| 国产精品欧美综合在线| 国产精品一区二区三区99| 日韩一级大片在线观看| 亚洲成人先锋电影| 91国偷自产一区二区开放时间 | 卡一卡二国产精品| 51精品久久久久久久蜜臀| 一区二区高清在线| 一本大道av伊人久久综合| 国产精品久久久久婷婷| 粉嫩一区二区三区性色av| 久久精品一区蜜桃臀影院| 精品系列免费在线观看| 精品久久久久久久久久久久久久久 | 欧美tickling网站挠脚心| 三级精品在线观看| 4438x亚洲最大成人网| 亚洲3atv精品一区二区三区| 欧美色偷偷大香| 亚洲第一主播视频| 欧美日韩国产乱码电影| 亚洲一区二区三区爽爽爽爽爽| 欧美在线观看视频一区二区三区| 亚洲乱码精品一二三四区日韩在线| 波多野结衣在线一区| 国产精品天美传媒| 成人动漫一区二区在线| 国产成人99久久亚洲综合精品| 精品国产凹凸成av人导航| 国产在线不卡一卡二卡三卡四卡| 2020国产精品| 国产成人日日夜夜| 中文字幕精品—区二区四季| 波多野结衣精品在线| 国产精品免费网站在线观看| 99久久精品国产导航| 亚洲精品videosex极品| 欧美久久久久久久久中文字幕| 日韩精品一卡二卡三卡四卡无卡| 日韩片之四级片| 国模少妇一区二区三区| 欧美国产97人人爽人人喊| 91亚洲国产成人精品一区二三| 亚洲精品中文字幕在线观看| 欧美久久久一区| 国产一二三精品| 成人免费一区二区三区在线观看 | 精品国一区二区三区| 国产美女视频一区| 亚洲色图欧美偷拍| 精品视频免费看| 麻豆精品精品国产自在97香蕉| 国产网红主播福利一区二区| eeuss鲁片一区二区三区在线看| 亚洲自拍偷拍九九九| 日韩欧美在线网站| 不卡一区二区在线| 五月婷婷色综合| 国产亚洲综合色| 在线观看91视频| 国产米奇在线777精品观看| 亚洲品质自拍视频网站| 欧美久久久久久蜜桃| 国产不卡免费视频| 天天色综合天天| 欧美国产一区二区在线观看| 91行情网站电视在线观看高清版| 麻豆成人久久精品二区三区小说| 国产精品久久久久国产精品日日| 欧美日韩国产天堂| 成人h精品动漫一区二区三区| 一区二区三区在线免费| 精品久久久久久久久久久久久久久久久| youjizz国产精品| 蜜臀av亚洲一区中文字幕| 国产精品久久久久久久久图文区| 欧美福利电影网| 99久久久免费精品国产一区二区| 免费三级欧美电影| 亚洲裸体在线观看| 精品国产免费人成电影在线观看四季| 91麻豆精东视频| 国产精品一区免费在线观看| 午夜电影网亚洲视频| 国产精品国产成人国产三级| 日韩一区二区免费在线电影| jlzzjlzz亚洲女人18| 国产自产2019最新不卡| 日韩一区精品视频| 亚洲精品国产a久久久久久| 国产亚洲一区二区三区四区| 欧美丰满美乳xxx高潮www| 99精品久久免费看蜜臀剧情介绍| 久久av资源网| 亚瑟在线精品视频| 亚洲精品国产高清久久伦理二区 | 国产成人综合亚洲91猫咪| 日韩精品亚洲专区| 亚洲在线中文字幕| 中文字幕亚洲综合久久菠萝蜜| 久久久亚洲高清| 日韩三级免费观看| 欧美群妇大交群中文字幕| 欧美国产国产综合| 26uuu亚洲综合色欧美| 91精品在线麻豆| 欧美日韩综合在线| 色素色在线综合| 97se狠狠狠综合亚洲狠狠| 国产精品一区二区无线| 韩国欧美国产1区| 轻轻草成人在线| 日韩和欧美一区二区三区| 亚洲高清中文字幕| 亚洲综合丁香婷婷六月香| 亚洲天堂av一区| 日韩美女啊v在线免费观看| 国产精品丝袜久久久久久app| 久久久久久97三级|