⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pdd.h

📁 基于AU1200的CPLD的wince下的驱动
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
#ifndef __PDD_H
#define __PDD_H

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

static PVOID HWInit(ULONG context, PVOID pMdd, PHWOBJ pHWObj);
static BOOL  HWPostInit(PVOID pContext);
static BOOL  HWDeinit(PVOID pContext);
static BOOL  HWOpen(PVOID pContext);
static ULONG HWClose(PVOID pContext);
static INTERRUPT_TYPE HWGetInterruptType(PVOID pContext);
static ULONG HWRxIntr(PVOID pContext, PUCHAR pRxBuffer, ULONG *pLength);
static VOID  HWTxIntr(PVOID pContext, PUCHAR pTxBuffer, ULONG *pLength);
static VOID  HWModemIntr(PVOID pContext);
static VOID  HWLineIntr(PVOID pContext);
static ULONG HWGetRxBufferSize(PVOID pContext);
static BOOL  HWPowerOff(PVOID pContext);
static BOOL  HWPowerOn(PVOID pContext);
static VOID  HWClearDTR(PVOID pContext);
static VOID  HWSetDTR(PVOID pContext);
static VOID  HWClearRTS(PVOID pContext);
static VOID  HWSetRTS(PVOID pContext);
static BOOL  HWEnableIR(PVOID pContext, ULONG baudRate);
static BOOL  HWDisableIR(PVOID pContext);
static VOID  HWClearBreak(PVOID pContext);
static VOID  HWSetBreak(PVOID pContext);
static VOID  HWReset(PVOID pContext);
static VOID  HWGetModemStatus(PVOID pContext, ULONG *pModemStat);
static BOOL  HWXmitComChar(PVOID pContext, UCHAR ch);
static ULONG HWGetStatus(PVOID pContext, COMSTAT *pComStat);
static VOID  HWGetCommProperties(PVOID pContext, COMMPROP *pCommProp);
static VOID  HWPurgeComm(PVOID pContext, DWORD action);
static BOOL  HWSetDCB(PVOID pContext, DCB *pDCB);
static ULONG HWSetCommTimeouts(PVOID pContext, COMMTIMEOUTS *pCommTimeouts);
static BOOL HWIOCtl(
   PVOID pContext, DWORD code, UCHAR *pInpBuffer, DWORD inpSize,
   UCHAR *pOutBuffer, DWORD outSize, DWORD *pOutSize
);

// SmartOne add
#define CP_UART0_PHYS_ADDR   // SmartOne add

// 有可以打开这些debug message进行调试
#if 0
#ifdef DEBUGMSG
#undef DEBUGMSG
#define DEBUGMSG RETAILMSG
#endif

#define ZONE_ERROR      1
#define ZONE_OPEN       1
#define ZONE_CLOSE      1
#define ZONE_THREAD     1
#define ZONE_FUNCTION   1
#endif

// Uart Control
#define UART_ENABLE_BIT            0x01    // 0:disable, 1: enable
#define UART_RESET_BIT             0x02    // a high level signal reset
#define UART_RX_FIFO_ENB_BIT       0x04    // invalid, reserve
#define UART_SET_BAUDRATE_BIT      0x08    // 0: 9600 baud rate, 1: 38400 baud rate

// Uart Status
#define TX_STATUS_BIT        0x01  // 0 Tx is busy,  1 Tx is free
#define RX_STATUS_BIT        0x02  // 0 Receive fifo contains valid characters,  1 Receive fifo contains invalid characters
#define ALL_INT_BITS        (TX_STATUS_BIT | RX_STATUS_BIT)

// Uart interrupt enable
#define TX_INT_ENB_BIT       0x01
#define RX_INT_ENB_BIT       0x02



// End SmartOne add

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -