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

📄 spidriver.h

📁 一个基于windows mobile 的GPS 接受IC 驱动程序。
💻 H
字号:
#ifndef SPI_DRIVER_H__          // {
#define SPI_DRIVER_H__

#include "xllp_ssp.h"
#include "bulverde_clkmgr.h"
#include "bulverde_gpio.h"

enum SPI_DRIVER_FLAGS
{
    ALLOW_ISR = 1,
    DEBUG     = 2
};

#define THREAD_PRIORITY_SPI_IST  100        // Same as USB
#define THREAD_PRIORITY_SPI_XFER (THREAD_PRIORITY_SPI_IST+2)
                                            // higher than serial port.

#include "oalintr.h"
#ifndef SYSINTR_SSP3
#define SYSINTR_SSP3             (SYSINTR_FIRMWARE+25)  // Need to get this from Johnson
#endif

//struct GPS_GPIO::BULVERDE_GPIO_REG;
//struct SSP::XLLP_SSP_REGS;

typedef struct
{
	volatile XLLP_GPIO_T*   v_pGPIORegs;
	volatile XLLP_SSP_REGS* v_pSPIRegs;
    volatile XLLP_CLKMGR_T* v_pClockRegs;
    HANDLE mIsrHandle;
    HANDLE mhIntr;
    HANDLE mhGpsEvent;
    HANDLE mhRxDone;
	DWORD  mIsrThreadID;
    BOOL   mbSignaledPower;
    BOOL   mbClosed;
	UINT8  mShutDownData[16];
	DWORD  mShutDownCount;
	DWORD  mFlags;
    BOOL   mbDebug;
    BOOL   mbIsrAllow;
    bool   intackNeeded;
    DWORD  interruptTime_;
    DWORD  openTime_;
    DWORD  closeTime_;
    // Constructor

    void ctor(DWORD dwContext)
    {
		mFlags = dwContext;
        // mShutDownCount  = 0;
        // mbClosed        = false;
        // mbSignaledPower = false;
        // mbDebug         = false;
        // mbIsrAllow      = false;
        if (mFlags & ALLOW_ISR) mbIsrAllow = true;
        if (mFlags & DEBUG    ) mbDebug    = true;
    };

} SPI_DEVICE_CONTEXT;

//-----------------------------------------------------------------------------
//
//                  getSpiDeviceContext()
//
//  Convert a hDeviceContext into a SPI device driver structure pointer.
//
//-----------------------------------------------------------------------------

inline SPI_DEVICE_CONTEXT* getSpiDeviceContext(DWORD hDeviceContext)
{
    return reinterpret_cast<SPI_DEVICE_CONTEXT*> (hDeviceContext);
}

#endif // SPI_DRIVER_H__   }

⌨️ 快捷键说明

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