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

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

?? xgpio.c

?? <基于fpga的嵌入式設(shè)計上的光盤的第四章第二個實驗
?? C
字號:
/* $Id: xgpio.c,v 1.2 2006/02/17 21:33:42 moleres Exp $ *//********************************************************************************       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 - 2005 Xilinx Inc.*       All rights reserved.*******************************************************************************//*** @file xgpio.c** The implementation of the XGpio component's basic functionality. See xgpio.h* for more information about the component.** @note** None** <pre>* MODIFICATION HISTORY:** Ver   Who  Date     Changes* ----- ---- -------- -----------------------------------------------* 1.00a rmm  02/04/02 First release* 2.00a jhl  12/16/02 Update for dual channel and interrupt support* 2.01a jvb  12/13/05 I changed Initialize() into CfgInitialize(), and made*                     CfgInitialize() take a pointer to a config structure*                     instead of a device id. I moved Initialize() into*                     xgpio_sinit.c, and had Initialize() call CfgInitialize()*                     after it retrieved the config structure using the device*                     id. I removed include of xparameters.h along with any*                     dependencies on xparameters.h and the _g.c config table.** </pre>******************************************************************************//***************************** Include Files ********************************/#include "xgpio.h"#include "xstatus.h"/************************** Constant Definitions ****************************//**************************** Type Definitions ******************************//***************** Macros (Inline Functions) Definitions ********************//************************** Variable Definitions ****************************//************************** Function Prototypes *****************************//****************************************************************************//*** Initialize the XGpio instance provided by the caller based on the* given configuration data.** Nothing is done except to initialize the InstancePtr.** @param InstancePtr is a pointer to an XGpio instance. The memory the pointer*        references must be pre-allocated by the caller. Further calls to*        manipulate the component through the XGpio API must be made with this*        pointer.** @param Config is a reference to a structure containing information about*        a specific GPIO device. This function initializes an InstancePtr object*        for a specific device specified by the contents of Config. This*        function can initialize multiple instance objects with the use of*        multiple calls giving different Config information on each call.** @param EffectiveAddr is the device base address in the virtual memory address*        space. The caller is responsible for keeping the address mapping*        from EffectiveAddr to the device physical base address unchanged*        once this function is invoked. Unexpected errors may occur if the*        address mapping changes after this function is called. If address*        translation is not used, use Config->BaseAddress for this parameters,*        passing the physical address instead.** @return** - XST_SUCCESS           Initialization was successfull.** @note** None.******************************************************************************/XStatus XGpio_CfgInitialize(XGpio *InstancePtr, XGpio_Config *Config,                            Xuint32 EffectiveAddr){    /*     * Assert arguments     */    XASSERT_NONVOID(InstancePtr != XNULL);    /*     * Set some default values.     */    InstancePtr->BaseAddress = EffectiveAddr;    InstancePtr->InterruptPresent = Config->InterruptPresent;    InstancePtr->IsDual = Config->IsDual;    /*     * Indicate the instance is now ready to use, initialized without error     */    InstancePtr->IsReady = XCOMPONENT_IS_READY;    return(XST_SUCCESS);}/****************************************************************************//*** Set the input/output direction of all discrete signals for the specified* GPIO channel.** @param InstancePtr is a pointer to an XGpio instance to be worked on.* @param Channel contains the channel of the GPIO (1 or 2) to operate on.* @param DirectionMask is a bitmask specifying which discretes are input and*        which are output. Bits set to 0 are output and bits set to 1 are input.** @return** None.** @note** The hardware must be built for dual channels if this function is used* with any channel other than 1.  If it is not, this function will assert.******************************************************************************/void XGpio_SetDataDirection(XGpio *InstancePtr, unsigned Channel,                            Xuint32 DirectionMask){    XASSERT_VOID(InstancePtr != XNULL);    XASSERT_VOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);    XASSERT_VOID((Channel == 1)  ||                 ((Channel == 2) &&                  (InstancePtr->IsDual == XTRUE)));    XGpio_mWriteReg(InstancePtr->BaseAddress,                    ((Channel - 1) * XGPIO_CHAN_OFFSET) + XGPIO_TRI_OFFSET,                    DirectionMask);}/****************************************************************************//*** Read state of discretes for the specified GPIO channnel.** @param InstancePtr is a pointer to an XGpio instance to be worked on.* @param Channel contains the channel of the GPIO (1 or 2) to operate on.** @return Current copy of the discretes register.** @note** The hardware must be built for dual channels if this function is used* with any channel other than 1.  If it is not, this function will assert.******************************************************************************/Xuint32 XGpio_DiscreteRead(XGpio *InstancePtr, unsigned Channel){    XASSERT_NONVOID(InstancePtr != XNULL);    XASSERT_NONVOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);    XASSERT_NONVOID((Channel == 1)  ||                    ((Channel == 2) &&                     (InstancePtr->IsDual == XTRUE)));    return XGpio_mReadReg(InstancePtr->BaseAddress,                          ((Channel - 1) * XGPIO_CHAN_OFFSET) +                          XGPIO_DATA_OFFSET);}/****************************************************************************//*** Write to discretes register for the specified GPIO channel.** @param InstancePtr is a pointer to an XGpio instance to be worked on.* @param Channel contains the channel of the GPIO (1 or 2) to operate on.* @param Data is the value to be written to the discretes register.** @return** None.** @note** The hardware must be built for dual channels if this function is used* with any channel other than 1.  If it is not, this function will assert.* See also XGpio_DiscreteSet() and XGpio_DiscreteClear().******************************************************************************/void XGpio_DiscreteWrite(XGpio *InstancePtr, unsigned Channel, Xuint32 Data){    XASSERT_VOID(InstancePtr != XNULL);    XASSERT_VOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);    XASSERT_VOID((Channel == 1)  ||                 ((Channel == 2) &&                  (InstancePtr->IsDual == XTRUE)));    XGpio_mWriteReg(InstancePtr->BaseAddress,                    ((Channel - 1) * XGPIO_CHAN_OFFSET) + XGPIO_DATA_OFFSET,                    Data);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久9999| 日韩一卡二卡三卡四卡| 国产日韩精品一区二区三区 | 日本欧美在线观看| 成人国产精品免费网站| 日本不卡免费在线视频| 精品少妇一区二区三区免费观看 | 精品处破学生在线二十三| 欧美性高清videossexo| 国产suv精品一区二区6| 精品一区二区三区免费播放| 国产精品国产三级国产aⅴ中文| 欧美日韩一区二区在线观看| 国产成人自拍高清视频在线免费播放| 成人免费在线视频观看| 免费精品99久久国产综合精品| 日韩欧美电影一二三| 91久久精品一区二区三| 国模无码大尺度一区二区三区| 亚洲成人先锋电影| 亚洲精品欧美专区| 亚洲欧美电影一区二区| 欧美极品美女视频| 欧美激情综合在线| 国产精品青草综合久久久久99| 久久久久九九视频| 国产毛片精品国产一区二区三区| av在线免费不卡| 成人激情黄色小说| 成人黄色大片在线观看| 成人免费看的视频| av男人天堂一区| 欧美日韩一二三| 欧美tk丨vk视频| 亚洲国产精品成人综合| 一区二区三区在线视频观看58| 亚洲一区二区在线播放相泽| 亚洲最大的成人av| 国产一区在线精品| 亚洲曰韩产成在线| 亚洲精品日日夜夜| 日本不卡一区二区三区| 国产精品一区二区三区四区| 成人免费视频app| 91精品国产一区二区三区| 国产日本欧洲亚洲| 日韩电影免费在线观看网站| 国产精品亚洲成人| 欧美性猛交xxxx乱大交退制版| 666欧美在线视频| 一色桃子久久精品亚洲| 欧美日韩国产精品自在自线| 日日夜夜精品视频天天综合网| 免费观看成人av| 97久久久精品综合88久久| 欧美亚洲国产一卡| 日本一二三四高清不卡| 国产呦萝稀缺另类资源| 国产伦精品一区二区三区免费迷| 欧美丝袜丝交足nylons图片| 日韩片之四级片| 日韩av在线播放中文字幕| 风间由美一区二区av101| 欧美日韩免费一区二区三区视频| 中文字幕第一区综合| 久久99热狠狠色一区二区| 欧美另类一区二区三区| 中文字幕一区av| 97国产一区二区| 亚洲丝袜自拍清纯另类| 91视频www| 亚洲一区二区三区小说| 色8久久精品久久久久久蜜| 日韩成人一区二区三区在线观看| 欧美日韩国产高清一区二区| 久久久久久99久久久精品网站| 国产精品中文字幕一区二区三区| 精品成人一区二区三区四区| 狠狠久久亚洲欧美| 国产欧美日韩卡一| 91影视在线播放| 免费欧美高清视频| 久久婷婷成人综合色| 99精品欧美一区二区蜜桃免费| 亚洲国产精品一区二区www在线| 欧美电影免费观看高清完整版在线观看| 精品日本一线二线三线不卡| 亚洲成人av资源| 国产精品卡一卡二| 欧美一二三在线| 色av一区二区| 国产福利91精品一区| 一区二区日韩电影| 日本一区二区三区dvd视频在线| 色婷婷精品久久二区二区蜜臀av| 老司机一区二区| 亚洲123区在线观看| 亚洲人精品午夜| 中文乱码免费一区二区| 日韩一级黄色片| 91免费视频大全| 国产成人在线免费观看| 久久精品噜噜噜成人av农村| 亚洲午夜免费福利视频| 国产精品乱人伦一区二区| 日韩视频一区二区三区| 国产精品一区免费在线观看| 一区二区三区中文字幕在线观看| 欧美电视剧免费观看| 欧美私人免费视频| 99国产精品久久久久久久久久| 丝袜亚洲另类欧美| 午夜精品视频一区| 亚洲男人电影天堂| 一区二区三区不卡视频| 国产天堂亚洲国产碰碰| 日韩欧美另类在线| 欧美一区二区三区免费| 日韩一级免费一区| 久久久国产午夜精品| 一区二区三区**美女毛片| 国产欧美日韩在线观看| 精品粉嫩超白一线天av| 精品国产免费一区二区三区四区| 国产午夜久久久久| 一区二区三区成人在线视频| 国产精品二三区| 亚洲国产综合在线| 精品一区二区日韩| 99久久综合精品| 精品久久久久av影院| 亚洲三级在线看| 国产一区视频导航| 欧美亚州韩日在线看免费版国语版| 欧美精品色一区二区三区| 午夜日韩在线电影| 91视频91自| 国产精品欧美经典| 久久激情五月婷婷| 色综合久久久久综合体桃花网| 在线免费观看成人短视频| 精品国产免费人成在线观看| 亚洲激情在线激情| 91啦中文在线观看| 国产精品成人免费| 国产一区久久久| 久久亚洲春色中文字幕久久久| 中文字幕一区二| av亚洲产国偷v产偷v自拍| 精品电影一区二区三区| 国产中文字幕一区| 国产精品国产三级国产普通话蜜臀| 日本午夜精品视频在线观看| 91.com视频| 韩国成人福利片在线播放| 亚洲精品在线网站| 成人午夜伦理影院| 亚洲人精品午夜| 欧美一区二区三区白人| 久草精品在线观看| 中文一区二区在线观看| 成人免费毛片app| 欧美国产日韩在线观看| 色八戒一区二区三区| 一级精品视频在线观看宜春院 | 久久99国产精品久久99果冻传媒| 日韩一二在线观看| 成人黄色综合网站| 一区二区三区四区中文字幕| 日韩欧美激情在线| 99精品视频中文字幕| 午夜视频一区二区三区| 日韩精品一区二区三区中文不卡| 国产不卡在线视频| 日本中文一区二区三区| 亚洲欧美日韩中文播放| 亚洲精品一区二区在线观看| 色综合色狠狠天天综合色| 九九精品一区二区| 日韩成人av影视| 亚洲精品视频自拍| 国产三区在线成人av| 精品国产一区二区亚洲人成毛片 | 精品欧美久久久| 欧美色视频在线| 99久久精品国产观看| 精品在线观看免费| 日本强好片久久久久久aaa| 亚洲综合成人在线视频| 中文字幕亚洲精品在线观看| 国产精品久久免费看| 国产欧美一区二区精品性| 欧美电影精品一区二区| 精品日韩av一区二区| 国产午夜精品理论片a级大结局| 欧美xxxx在线观看| 精品国产精品网麻豆系列 | 91蜜桃免费观看视频| 91影视在线播放| 在线视频国产一区|