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

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

?? pdd.h

?? Exar 公司 M1170 芯片 (i2c 轉 串口)的 驅動
?? H
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
//------------------------------------------------------------------------------
//
//  File:  pdd.h
//
#ifndef __PDD_H
#define __PDD_H

#define XR20M1170_I2C_ADDR             0x35
#define XR20M1170_ADDR_SIZE            0x7

#define TRUNC(a)                        ((unsigned int)(a))
#define ROUND(a)                        ((unsigned int)(a+0.5))

#define BIT0                            0x1
#define BIT1                            0x2
#define BIT2                            0x4
#define BIT3                            0x8
#define BIT4                            0x10
#define BIT5                            0x20
#define BIT6                            0x40
#define BIT7                            0x80

#define XR20M1170REG_RHR            0
#define XR20M1170REG_THR            1
#define XR20M1170REG_DLL            2
#define XR20M1170REG_DLM            3
#define XR20M1170REG_DLD            4
#define XR20M1170REG_IER            5
#define XR20M1170REG_ISR            6
#define XR20M1170REG_FCR            7
#define XR20M1170REG_LCR            8
#define XR20M1170REG_MCR            9
#define XR20M1170REG_LSR            10
#define XR20M1170REG_MSR            11
#define XR20M1170REG_SPR            12
#define XR20M1170REG_TCR            13
#define XR20M1170REG_TLR            14
#define XR20M1170REG_TXLVL          15
#define XR20M1170REG_RXLVL          16
#define XR20M1170REG_IODIR          17
#define XR20M1170REG_IOSTATE        18
#define XR20M1170REG_IOINTENA       19
#define XR20M1170REG_IOCONTROL      20
#define XR20M1170REG_EFCR           21
#define XR20M1170REG_EFR            22
#define XR20M1170REG_XON1           23
#define XR20M1170REG_XON2           24
#define XR20M1170REG_XOFF1          25
#define XR20M1170REG_XOFF2          26


static VOID* HWInit(ULONG, VOID*, HWOBJ*);
static BOOL  HWPostInit(VOID*);
static BOOL  HWDeinit(VOID*);
static BOOL  HWOpen(VOID*);
static ULONG HWClose(VOID*);
static INTERRUPT_TYPE HWGetInterruptType(VOID*);
static ULONG HWRxIntrHandler(VOID*, UCHAR*, ULONG*);
static VOID  HWTxIntrHandler(VOID*, UCHAR*, ULONG*);
static VOID  HWModemIntrHandler(VOID*);
static VOID  HWLineIntrHandler(VOID*);
static ULONG HWGetRxBufferSize(VOID*);
static BOOL  HWPowerOff(VOID*);
static BOOL  HWPowerOn(VOID*);
static VOID  HWClearDTR(VOID*);
static VOID  HWSetDTR(VOID*);
static VOID  HWClearRTS(VOID*);
static VOID  HWSetRTS(VOID*);
static BOOL  HWEnableIR(VOID*, ULONG);
static BOOL  HWDisableIR(VOID*);
static VOID  HWClearBreak(VOID*);
static VOID  HWSetBreak(VOID*);
static VOID  HWReset(VOID*);
static VOID  HWGetModemStatus(VOID*, ULONG*);
static BOOL  HWXmitComChar(VOID*, UCHAR);
static ULONG HWGetStatus(VOID*, COMSTAT*);
static VOID  HWGetCommProperties(VOID*, COMMPROP*);
static VOID  HWPurgeComm(VOID*, DWORD);
static BOOL  HWSetDCB(VOID*, DCB*);
static ULONG HWSetCommTimeouts(VOID*, COMMTIMEOUTS*);
static BOOL  HWIOCtl(VOID *, DWORD, UCHAR *, DWORD, UCHAR *, DWORD , DWORD *);

//------------------------------------------------------------------------------

typedef struct {

    //DWORD memBase[2];                   // Physical address of UART port
    //DWORD memLen[2];                    // Size of registry array
    DWORD gpio_power;
    DWORD gpio_irq;
    DWORD gpio_download;
    DWORD gpio_reset;
    DWORD index;                        // Device index

    BOOL  hwMode;                       // Hardware handshake mode
    DWORD rxBufferSize;                 // MDD RX buffer size

    //DWORD wakeUpChar;                   // WakeUp character
    //DWORD hwTimeout;                    // Hardware timeout

    OMAP730_CONFIG_REGS *pConfigRegs;   // Mapped VA of config module
    ULONG sysIntr;                      // Assigned SYSINTR

    HANDLE hI2c;                  // Parent bus handler
    HANDLE hGPIO;                       // GPIO bus handler

    CEDEVICE_POWER_STATE currentDX;     // Actual hardware power state
    CEDEVICE_POWER_STATE externalDX;    // External power state
    CRITICAL_SECTION powerCS;           // Guard access to power change

    ULONG frequency;                    // UART module input frequency

    PVOID pMdd;                         // MDD context

    BOOL  open;                         // Is device open?
    DCB   dcb;                          // Serial port DCB

    ULONG commErrors;                   // How many errors occured
    ULONG overrunCount;                 // How many chars was missed

    BOOL  autoRTS;                      // Is auto RTS enabled?
    //BOOL  wakeUpMode;                   // Are we in special wakeup mode?
    //BOOL  wakeUpSignaled;               // Was wakeup mode signaled already?

    UCHAR intrMask;                     // Actual interrupt mask

    BOOL  addTxIntr;                    // Should we add software TX interrupt?
    BOOL  flowOffCTS;                   // Is CTS down?
    BOOL  flowOffDSR;                   // Is DSR down?

    CRITICAL_SECTION hwCS;              // Guard access to HW registers
    CRITICAL_SECTION txCS;              // Guard HWXmitComChar
    HANDLE txEvent;                     // Signal TX interrupt for HWXmitComChar

    COMMTIMEOUTS commTimeouts;          // Communication Timeouts

} UARTPDD;


typedef enum
{
    I2C_ERROR,
    I2C_OK
} I2CERROR;


//------------------------------------------------------------------------------

static HW_VTBL g_pddVTbl = {
    HWInit,
    HWPostInit,
    HWDeinit,
    HWOpen,
    HWClose,
    HWGetInterruptType,
    HWRxIntrHandler,
    HWTxIntrHandler,
    HWModemIntrHandler,
    HWLineIntrHandler,
    HWGetRxBufferSize,
    HWPowerOff,
    HWPowerOn,
    HWClearDTR,
    HWSetDTR,
    HWClearRTS,
    HWSetRTS,
    HWEnableIR,
    HWDisableIR,
    HWClearBreak,
    HWSetBreak,
    HWXmitComChar,
    HWGetStatus,
    HWReset,
    HWGetModemStatus,
    HWGetCommProperties,
    HWPurgeComm,
    HWSetDCB,
    HWSetCommTimeouts,
    HWIOCtl
};

static void RegSetBit(UARTPDD *pPdd, UCHAR regaddr, UCHAR bit);
static void RegClrBit(UARTPDD *pPdd, UCHAR regaddr, UCHAR bit);
static UCHAR RegRead(UARTPDD *pPdd, UCHAR regaddr);
VOID RegWrite(UARTPDD *pPdd, UCHAR regaddr, UCHAR data);
static void EnterConstraint(UARTPDD *pPdd, UCHAR regaddr, UCHAR *plcr_reg, UCHAR *pefr_reg, UCHAR *pmcr_reg);
static void ExitConstraint(UARTPDD *pPdd, UCHAR regaddr, UCHAR lcr_reg, UCHAR efr_reg, UCHAR mcr_reg);
static UCHAR I2c_ReadReg(UARTPDD *pPdd, UCHAR reg);
static BOOL I2c_WriteReg(UARTPDD *pPdd, UCHAR regaddr, UCHAR data);
//static BOOL RegPrintAll(UARTPDD *pPdd);

static void gps_poweron(UARTPDD *pPdd, UCHAR on);
static void gps_1170_reset(UARTPDD *pPdd);
static void gps_download(UARTPDD *pPdd, UCHAR on);
static void HWStartup(UARTPDD *pPdd);

#define IOCTL_XR20M1170_GPS_DOWNLOADBOOT CTL_CODE(FILE_DEVICE_SERIAL_PORT, 144,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_XR20M1170_GPS_NORMALBOOT   CTL_CODE(FILE_DEVICE_SERIAL_PORT, 145,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_XR20M1170_ENABLE_LOOPBACK      CTL_CODE(FILE_DEVICE_SERIAL_PORT, 146,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_XR20M1170_DISABLE_LOOPBACK     CTL_CODE(FILE_DEVICE_SERIAL_PORT, 147,METHOD_BUFFERED,FILE_ANY_ACCESS)

#endif // __PDD_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产sm捆绑调教视频 | 9191久久久久久久久久久| 欧美私模裸体表演在线观看| 欧美成人三级在线| 亚洲综合久久av| 成人午夜激情视频| 亚洲精品日韩综合观看成人91| 一二三区精品视频| 粉嫩av一区二区三区| 日韩视频国产视频| 亚洲国产另类精品专区| 成人福利在线看| 国产亚洲一区二区三区| 视频一区视频二区中文字幕| 99久久er热在这里只有精品15 | 国产成人av资源| 欧美一区二区精品在线| 亚洲狠狠丁香婷婷综合久久久| 国产91精品欧美| 亚洲精品一区二区三区福利 | 久久精品亚洲精品国产欧美| 日韩精品一二三| 欧美三级中文字| 一区二区三区不卡在线观看| av一区二区三区四区| 国产欧美一区视频| 国产一区二区中文字幕| 欧美成va人片在线观看| 麻豆精品一区二区三区| 日韩三级视频在线观看| 日韩精品乱码av一区二区| 欧美亚洲动漫精品| 亚洲第一成年网| 91精品国产福利| 久久99日本精品| 日韩写真欧美这视频| 三级一区在线视频先锋| 欧美久久久久久蜜桃| 亚洲成人动漫在线观看| 欧美美女网站色| 欧美96一区二区免费视频| 欧美一级二级三级蜜桃| 精品一区二区三区免费视频| 亚洲精品一线二线三线 | 首页欧美精品中文字幕| 欧美色综合网站| 首页国产丝袜综合| 日韩欧美一区二区视频| 国产一区二区在线电影| 亚洲国产精品二十页| 不卡一区二区三区四区| 一区二区三区四区精品在线视频| 精品污污网站免费看| 秋霞电影一区二区| 日本一区二区三区四区| 91亚洲精品久久久蜜桃| 亚洲成av人片在www色猫咪| 欧美一级欧美三级在线观看| 国内不卡的二区三区中文字幕| 美女看a上一区| 久久新电视剧免费观看| 国产精一区二区三区| 国产精品国产三级国产专播品爱网 | 日韩一区二区三区四区| 国产一区 二区| 一区二区三区在线视频播放| 欧美伦理电影网| 国产91丝袜在线播放0| 亚洲精品免费在线| 精品久久一区二区三区| 91网页版在线| 国内成人免费视频| 亚洲一级片在线观看| 久久久久综合网| 欧美美女喷水视频| 9l国产精品久久久久麻豆| 奇米色777欧美一区二区| 自拍偷拍亚洲激情| ww久久中文字幕| 精品视频在线免费看| 波多野结衣中文字幕一区二区三区 | 国产乱码字幕精品高清av| 自拍偷拍国产精品| 日韩欧美国产精品| 91女厕偷拍女厕偷拍高清| 精品在线观看免费| 亚洲成人777| 国产精品久久一卡二卡| 精品久久久久久无| 欧美理论在线播放| 91社区在线播放| 国产精品资源在线看| 五月天一区二区三区| 亚洲男同1069视频| 国产精品精品国产色婷婷| 欧美精品一区二区三区视频| 欧美三级资源在线| 在线观看日产精品| 99精品国产热久久91蜜凸| 国产久卡久卡久卡久卡视频精品| 日韩va亚洲va欧美va久久| 亚洲自拍偷拍九九九| 综合久久久久久| 国产精品久久久久久久浪潮网站| 久久久一区二区三区| 欧美xfplay| 精品少妇一区二区三区日产乱码| 欧美丰满少妇xxxxx高潮对白| 欧美最猛黑人xxxxx猛交| 色婷婷国产精品综合在线观看| 国产精品一区二区男女羞羞无遮挡 | 久久久久9999亚洲精品| 日韩视频不卡中文| 日韩欧美久久久| 欧美白人最猛性xxxxx69交| 欧美一区二区三区视频在线观看 | 亚洲欧洲精品一区二区三区不卡 | 亚洲成人久久影院| 亚洲妇女屁股眼交7| 亚洲一区二区三区激情| 一区二区高清免费观看影视大全| 亚洲欧洲制服丝袜| 一区二区三区在线视频观看| 亚洲成av人综合在线观看| 丝袜诱惑制服诱惑色一区在线观看 | jlzzjlzz欧美大全| 成人激情文学综合网| caoporn国产一区二区| 99视频一区二区| 色8久久人人97超碰香蕉987| 欧美色网站导航| 欧美日韩精品一区二区三区四区| 欧美日免费三级在线| 91精品在线观看入口| 欧美电影免费观看完整版| 久久久亚洲精华液精华液精华液| 中文字幕av资源一区| 国产精品国产三级国产aⅴ原创 | 日韩毛片高清在线播放| 亚洲精品日产精品乱码不卡| 亚洲综合999| 国产一区二区三区免费播放| 成人晚上爱看视频| 欧美三级一区二区| 久久综合九色综合欧美98| 亚洲欧美综合色| 日韩精品国产精品| 粉嫩aⅴ一区二区三区四区五区| av一区二区三区| 欧美三级电影在线观看| 2021久久国产精品不只是精品| 中文文精品字幕一区二区| 亚洲电影第三页| 风间由美性色一区二区三区| 色噜噜夜夜夜综合网| 日韩午夜激情免费电影| 日本一区二区不卡视频| 日韩精品一二三四| 99精品欧美一区| 久久综合色8888| 五月激情丁香一区二区三区| 国产suv一区二区三区88区| 欧美日韩视频在线一区二区 | 亚洲国产精品一区二区www在线| 捆绑变态av一区二区三区| av在线一区二区三区| 精品精品欲导航| 亚洲一区二区综合| 国产69精品久久99不卡| 在线播放日韩导航| 亚洲免费看黄网站| 韩日av一区二区| 欧美三级电影网| 亚洲综合一区二区三区| 成人免费看视频| 精品99一区二区三区| 视频一区国产视频| 91精彩视频在线| 中文字幕一区二区5566日韩| 美国毛片一区二区三区| 99国产精品久久久| 国产亚洲精品资源在线26u| 午夜久久久久久| 在线精品视频一区二区| 国产精品成人免费在线| 国产成人啪免费观看软件| 精品国产乱码久久久久久牛牛 | 一个色综合av| 91久久一区二区| 亚洲美女免费视频| 99re这里都是精品| 国产精品三级久久久久三级| 久久国产精品72免费观看| 91精品国产综合久久香蕉的特点| 一区二区三区在线影院| jiyouzz国产精品久久| 国产精品天干天干在线综合| 丁香六月久久综合狠狠色| 国产日韩精品久久久| 国产成人精品免费一区二区|