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

📄 iic_mdd.h

📁 6410BSP3
💻 H
字号:
/**************************************************************************************
* 
*    Project Name : IIC Driver 
*
*    Copyright 2006 by Samsung Electronics, Inc.
*    All rights reserved.
*
*    Project Description :
*        This software is MDD layer for IIC Samsung driver. 
*  
*--------------------------------------------------------------------------------------
* 
*    File Name : iic_mdd.h
*  
*    File Description : This file implements common structures and macros for IIC driver.
*
*    Author : JeGeon.Jung
*    Dept. : AP Development Team
*    Created Date : 2007/06/11
*    Version : 0.1 
* 
*    History
*    - Created(JeGeon.Jung 2007/06/11)
*  
*    Todo
*
*
*    Note
*
**************************************************************************************/
#ifndef __IIC_MDD_H__
#define __IIC_MDD_H__

#include <iic.h>


enum    IIC_STATE
{
    IIC_FINISH = 0,
    IIC_RUN = 1
};


typedef struct __HW_OPEN_INFO HW_OPEN_INFO, *PHW_OPEN_INFO;

typedef struct __PDD_COMMON_SET {
    BYTE                SlaveAddress;
    BYTE                InterruptEnable;        // Tx/Rx interrupt enable
} PDD_COMMON_SET, *PPDD_COMMON_SET;

typedef struct __PDD_CONTEXT_SET {
    UINT32                Clock;
    IIC_MODE            ModeSel;        // Master/Slave, Tx/Rx
    BYTE                ClockSel;           // Clock prescaler selection 
    BYTE                ClockDiv;           // Clock Divider value
    BYTE                FilterEnable;     // IIC bus filter enable bit
    IIC_DELAY            Delay;           // IIC bus line delay lengh selection
} PDD_CONTEXT_SET, *PPDD_CONTEXT_SET;


typedef struct __HW_INIT_INFO {
    CRITICAL_SECTION    CritSec;            // Protects tx/rx action
    PHW_OPEN_INFO       pAccessOwner;       // Points to whichever open has acess permissions
    LIST_ENTRY          OpenList;           // Head of linked list of OPEN_INFOs 
    CRITICAL_SECTION     OpenCS;                // Protects Open Linked List + ref counts    
    DWORD                OpenCnt;            // Protects use of this port     
    ULONG                Priority256;        // CeThreadPriority of transmit Thread.
    PDD_COMMON_SET        PDDCommonVal;        // common setting value for all contexts.
    IIC_STATE            State;                // state (IIC_RUN, IIC_FINISH)    
} HW_INIT_INFO, *PHW_INIT_INFO;


typedef struct __HW_OPEN_INFO {
    PHW_INIT_INFO       pInitContext;         // Pointer back to our HW_INIT_INFO
    DWORD                AccessCode;          // What permissions was this opened with
    DWORD                ShareMode;           // What Share Mode was this opened with
    DWORD               StructUsers;         // Count of threads currently using struct.
    LIST_ENTRY              llist;               // Linked list of OPEN_INFOs
    PDD_CONTEXT_SET        PDDContextVal;        // setting value for each context.
    BOOL                DirtyBit;            // This means PDDContextVal is updated.
} HW_OPEN_INFO, *PHW_OPEN_INFO;


#endif //    __IIC_MDD_H__

⌨️ 快捷键说明

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