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

📄 pddisr.h

📁 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.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:  

Abstract:

    Platform dependent Serial definitions for 16550  controller.

Notes: 
--*/
#ifndef __PDDISR_H_
#define __PDDISR_H_
#include <Pdd16550.h>
#include <isr16550.h>
class CPdd16550Isr: public CPdd16550 {
public:
    CPdd16550Isr(LPTSTR lpActivePath, PVOID pMdd, PHWOBJ pHwObj);
    virtual ~CPdd16550Isr();
    virtual BOOL Init();
//
// IST
private:
    virtual DWORD ThreadRun();   // IST
protected:
    inline BOOL PeekIIRData(PBYTE pbInt, PBYTE pbData);
    inline BOOL ReadIIRData(PBYTE pbInt, PBYTE pbData);
    inline BOOL WriteFIFOData(BYTE bData);
public:
//
// Xmit Function.
    virtual void    XmitInterruptHandler(PUCHAR pTxBuffer, ULONG *pBuffLen);
    virtual void    XmitComChar(UCHAR ComChar);
    virtual BOOL    CancelXmit();
//
//  Rx Function.
public:
    virtual ULONG   ReceiveInterruptHandler(PUCHAR pRxBuffer,ULONG *pBufflen);
    virtual ULONG   CancelReceive();
//
//Line Function
    virtual void    LineInterruptHandler();
//
//Modem Function
    virtual void    ModemInterruptHandler();

protected:
    // now hardware specific fields Duplicated Info
    PVOID       m_pIoStaticAddr;
    PVOID       m_pVirtualStaticAddr;// Static Address.

    volatile ISR16550_INFO     * m_pIsrInfoVirt;
    volatile XmitDataBuffer    * m_pXmitBuffer;
    volatile RcvDataBuffer     * m_pReceiveBuffer;
    HANDLE          m_hIsrHandler;
//    BOOL            bMoreXmitData;// For software xmit buffering
//    DWORD           dwIsrIndex; // For test only

};

#endif

⌨️ 快捷键说明

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