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

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

?? dio.h

?? 一些ucos的外圍接口原代碼,如鍵盤LCDLED
?? H
字號:
/*
*********************************************************************************************************
*                                   Embedded Systems Building Blocks
*                                Complete and Ready-to-Use Modules in C
*
*                                         Discrete I/O Module
*
*                            (c) Copyright 1999, Jean J. Labrosse, Weston, FL
*                                          All Rights Reserved
*
* Filename   : DIO.H
* Programmer : Jean J. Labrosse
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                        CONFIGURATION CONSTANTS
*********************************************************************************************************
*/

#ifndef  CFG_H

#define  DIO_TASK_PRIO             40
#define  DIO_TASK_DLY_TICKS         1
#define  DIO_TASK_STK_SIZE        512

#define  DIO_MAX_DI                 8       /* Maximum number of Discrete Input  Channels (1..255)     */
#define  DIO_MAX_DO                 8       /* Maximum number of Discrete Output Channels (1..255)     */

#define  DI_EDGE_EN                 1       /* Enable code generation to support edge trig. (when 1)   */

#define  DO_BLINK_MODE_EN           1       /* Enable code generation to support blink mode (when 1)   */

#endif

#ifdef   DIO_GLOBALS
#define  DIO_EXT
#else
#define  DIO_EXT  extern
#endif

/*
*********************************************************************************************************
*                                       DISCRETE INPUT CONSTANTS
*********************************************************************************************************
*/

                                            /* DI MODE SELECTOR VALUES                                 */
#define  DI_MODE_LOW                0       /* Input is forced low                                     */
#define  DI_MODE_HIGH               1       /* Input is forced high                                    */
#define  DI_MODE_DIRECT             2       /* Input is based on state of physical input               */
#define  DI_MODE_INV                3       /* Input is based on the complement of the physical input  */
#define  DI_MODE_EDGE_LOW_GOING     4       /* Low  going edge detection of input                      */
#define  DI_MODE_EDGE_HIGH_GOING    5       /* High going edge detection of input                      */
#define  DI_MODE_EDGE_BOTH          6       /* Both low and high going edge detection of input         */
#define  DI_MODE_TOGGLE_LOW_GOING   7       /* Low  going edge detection of input                      */
#define  DI_MODE_TOGGLE_HIGH_GOING  8       /* High going edge detection of input                      */

                                            /* DI EDGE TRIGGERING MODE SELECTOR VALUES                 */
#define  DI_EDGE_LOW_GOING          0       /* Negative going edge                                     */
#define  DI_EDGE_HIGH_GOING         1       /* Positive going edge                                     */
#define  DI_EDGE_BOTH               2       /* Both positive and negative going                        */

/*$PAGE*/
/*
*********************************************************************************************************
*                                       DISCRETE OUTPUT CONSTANTS
*********************************************************************************************************
*/

                                            /* DO MODE SELECTOR VALUES                                 */
#define  DO_MODE_LOW                0       /* Output will be low                                      */
#define  DO_MODE_HIGH               1       /* Output will be high                                     */
#define  DO_MODE_DIRECT             2       /* Output is based on state of user supplied state         */
#define  DO_MODE_BLINK_SYNC         3       /* Sync.  Blink mode                                       */
#define  DO_MODE_BLINK_ASYNC        4       /* Async. Blink mode                                       */

                                            /* DO BLINK MODE ENABLE SELECTOR VALUES                    */
#define  DO_BLINK_EN                0       /* Blink is always enabled                                 */
#define  DO_BLINK_EN_NORMAL         1       /* Blink depends on user request's state                   */
#define  DO_BLINK_EN_INV            2       /* Blink depends on the complemented user request's state  */

/*
*********************************************************************************************************
*                                            DATA TYPES
*********************************************************************************************************
*/

typedef struct dio_di {                /* DISCRETE INPUT CHANNEL DATA STRUCTURE                        */
    BOOLEAN   DIIn;                    /* Current state of sensor input                                */
    INT16U    DIVal;                   /* State of discrete input channel (or # of transitions)        */
    BOOLEAN   DIPrev;                  /* Previous state of DIIn for edge detection                    */
    BOOLEAN   DIBypassEn;              /* Bypass enable switch (Bypass when TRUE)                      */
    INT8U     DIModeSel;               /* Discrete input channel mode selector                         */
#if DI_EDGE_EN
    void    (*DITrigFnct)(void *);     /* Function to execute if edge triggered                        */
    void     *DITrigFnctArg;           /* arguments passed to function when edge detected              */
#endif
} DIO_DI;


typedef struct dio_do {                /* DISCRETE OUTPUT CHANNEL DATA STRUCTURE                       */
    BOOLEAN   DOOut;                   /* Current state of discrete output channel                     */
    BOOLEAN   DOCtrl;                  /* Discrete output control request                              */
    BOOLEAN   DOBypass;                /* Discrete output control bypass state                         */
    BOOLEAN   DOBypassEn;              /* Bypass enable switch (Bypass when TRUE)                      */
    INT8U     DOModeSel;               /* Discrete output channel mode selector                        */
    INT8U     DOBlinkEnSel;            /* Blink enable mode selector                                   */
    BOOLEAN   DOInv;                   /* Discrete output inverter selector (Invert when TRUE)         */
#if DO_BLINK_MODE_EN
    INT8U     DOA;                     /* Blink mode ON time                                           */
    INT8U     DOB;                     /* Asynchronous blink mode period                               */
    INT8U     DOBCtr;                  /* Asynchronous blink mode period counter                       */
#endif
} DIO_DO;
/*$PAGE*/
/*
*********************************************************************************************************
*                                          GLOBAL VARIABLES
*********************************************************************************************************
*/

DIO_EXT  DIO_DI      DITbl[DIO_MAX_DI];
DIO_EXT  DIO_DO      DOTbl[DIO_MAX_DO];

#if      DO_BLINK_MODE_EN
DIO_EXT  INT8U       DOSyncCtr;
DIO_EXT  INT8U       DOSyncCtrMax;
#endif

/*
*********************************************************************************************************
*                                          FUNCTION PROTOTYPES
*********************************************************************************************************
*/

void     DIOInit(void);

void     DICfgMode(INT8U n, INT8U mode);
INT16U   DIGet(INT8U n);
void     DISetBypassEn(INT8U n, BOOLEAN state);
void     DISetBypass(INT8U n, INT16U val);

#if      DI_EDGE_EN
void     DIClr(INT8U n);
void     DICfgEdgeDetectFnct(INT8U n, void (*fnct)(void *), void *arg);
#endif


void     DOCfgMode(INT8U n, INT8U mode, BOOLEAN inv);
BOOLEAN  DOGet(INT8U n);
void     DOSet(INT8U n, BOOLEAN state);
void     DOSetBypass(INT8U n, BOOLEAN state);
void     DOSetBypassEn(INT8U n, BOOLEAN state);

#if      DO_BLINK_MODE_EN
void     DOCfgBlink(INT8U n, INT8U mode, INT8U a, INT8U b);
void     DOSetSyncCtrMax(INT8U val);
#endif

/*
*********************************************************************************************************
*                                          FUNCTION PROTOTYPES
*                                           HARDWARE SPECIFIC
*********************************************************************************************************
*/

void     DIOInitIO(void);
void     DIRd(void);
void     DOWr(void);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区欧美二区| 色综合久久久久久久久| 久久精品视频免费| 91精品国产综合久久精品图片| 99久久99久久久精品齐齐| 国内外精品视频| 激情六月婷婷综合| 欧洲精品一区二区| 欧美日韩在线不卡| 91精品国产欧美日韩| 亚洲精品国久久99热| 国产人久久人人人人爽| 国产日产精品一区| 久久av资源网| 成人爱爱电影网址| 91影院在线观看| 欧美日本国产视频| 26uuu色噜噜精品一区| 久久久久久久久久久久久女国产乱 | 亚洲国产乱码最新视频| 一区二区日韩av| 日本aⅴ免费视频一区二区三区| 三级欧美在线一区| 国产在线精品不卡| 欧美一级午夜免费电影| 午夜不卡在线视频| 国产成人综合视频| 欧美午夜精品电影| 久久久无码精品亚洲日韩按摩| 日本免费在线视频不卡一不卡二| 国产夫妻精品视频| 久久久久久免费网| 国产成人免费视频网站| 久久精品视频一区| 丁香五精品蜜臀久久久久99网站 | 久久精品99久久久| 欧美一区二区三区白人| 亚洲成人资源网| 国产精品18久久久久久久久久久久 | 色综合天天综合网天天狠天天| 欧美羞羞免费网站| 亚洲国产精品一区二区久久| 欧美午夜片在线观看| 天天影视网天天综合色在线播放| 精品视频1区2区| 日韩经典一区二区| 日韩精品一区在线| 一区二区激情视频| 欧美日韩一级二级| 免费观看91视频大全| 精品国产伦一区二区三区观看方式| 一区二区高清视频在线观看| 欧美三级日韩在线| 蓝色福利精品导航| 日本一二三不卡| 全部av―极品视觉盛宴亚洲| 精品久久久久久久久久久久久久久 | 国产亚洲精品福利| 成人99免费视频| 亚洲一区二区三区四区在线免费观看 | 国产精品久久久久久久裸模| 日韩成人一区二区| 久久精品欧美一区二区三区麻豆 | 中文字幕第一区第二区| 97久久超碰国产精品| 亚洲国产综合在线| 精品99一区二区三区| 99久久免费国产| 日韩成人一区二区| 国产精品久久久久影院| 欧美猛男男办公室激情| 国产激情视频一区二区三区欧美| 亚洲视频一区二区在线| 岛国精品一区二区| 中文字幕不卡在线| 欧美偷拍一区二区| 国产老肥熟一区二区三区| 一区二区久久久| 国产人伦精品一区二区| 欧美精品粉嫩高潮一区二区| 亚洲午夜在线电影| 欧美国产综合一区二区| 欧美三级在线播放| 99久久精品国产导航| 精品无码三级在线观看视频| 日韩女优制服丝袜电影| 色婷婷综合在线| 国产乱码精品一区二区三| 亚洲国产视频直播| 国产精品国产自产拍高清av | 色综合久久天天综合网| 狠狠色伊人亚洲综合成人| 亚洲一区视频在线| 日韩一区有码在线| 日本乱码高清不卡字幕| 亚洲成av人片观看| 亚洲免费观看高清完整版在线观看 | 欧美夫妻性生活| 一本到不卡精品视频在线观看| 国产呦萝稀缺另类资源| 日本成人在线一区| 午夜精品123| 亚洲成人动漫精品| 亚洲欧美日韩一区二区| 中文字幕一区二区三区色视频 | 久久av资源站| 久久精品国产99国产| 天堂成人国产精品一区| 亚洲一区二区三区在线播放| 亚洲精品写真福利| 一区二区视频在线| 玉米视频成人免费看| 亚洲人xxxx| 亚洲激情五月婷婷| 亚洲激情图片小说视频| 亚洲美女一区二区三区| 亚洲精品中文字幕乱码三区| 亚洲男人天堂av| 亚洲曰韩产成在线| 亚洲18影院在线观看| 午夜伊人狠狠久久| 日韩精彩视频在线观看| 蜜臀av一级做a爰片久久| 国产精品久久久久影院老司| 国产精品入口麻豆九色| 欧美一区二区三区视频免费播放 | 亚洲二区在线观看| 亚洲影院免费观看| 无码av免费一区二区三区试看| 亚洲国产三级在线| 蜜桃视频一区二区| 国产精品一级在线| 成人av手机在线观看| 91看片淫黄大片一级在线观看| 日本丶国产丶欧美色综合| 欧美日韩一区小说| 日韩一区二区三区精品视频| 日本伦理一区二区| 欧美久久久久免费| www日韩大片| 亚洲视频一二三| 天天综合日日夜夜精品| 国产一区二区在线看| 成人一区二区三区中文字幕| 色国产综合视频| 欧美一区二区三区四区五区| 日本一区二区高清| 亚洲午夜久久久久久久久久久| 麻豆成人91精品二区三区| 国产成人8x视频一区二区| 在线日韩国产精品| 欧美成人福利视频| 亚洲日本护士毛茸茸| 日韩成人精品在线观看| 成人中文字幕合集| 欧美日韩激情一区二区| 国产亚洲一二三区| 亚洲在线免费播放| 国产乱码精品一品二品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 日韩一区二区在线观看视频| 亚洲欧洲在线观看av| 天堂一区二区在线| 99精品国产视频| 日韩欧美第一区| 一二三区精品福利视频| 国产精品一区2区| 欧美精品三级在线观看| 国产精品区一区二区三区| 日本不卡视频一二三区| 2023国产精华国产精品| 亚洲在线视频免费观看| 粉嫩在线一区二区三区视频| 欧美剧情电影在线观看完整版免费励志电影| 国产婷婷色一区二区三区在线| 午夜精品久久久久久久| 成人黄页在线观看| 精品99999| 秋霞电影一区二区| 欧美怡红院视频| 亚洲欧洲三级电影| 国产馆精品极品| 欧美v日韩v国产v| 日韩高清不卡在线| 欧美在线视频不卡| 亚洲精品va在线观看| 99免费精品在线| 欧美亚洲动漫精品| 亚洲视频 欧洲视频| eeuss鲁片一区二区三区在线观看| 久久综合色之久久综合| 人人超碰91尤物精品国产| 欧美精品乱人伦久久久久久| 亚洲一区二区三区自拍| 色噜噜偷拍精品综合在线| 亚洲视频一区在线| 色婷婷av一区二区三区软件| 亚洲三级免费观看| 99国产精品久久久久| 亚洲视频你懂的|