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

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

?? i2cbus.h

?? freescale i.mx31 BSP CE5.0全部源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
//------------------------------------------------------------------------------
//
//  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.
//
//------------------------------------------------------------------------------
//
//  Copyright (C) 2004, Motorola Inc. All Rights Reserved
//
//  Copyright (C) 2004, Freescale Semiconductor, Inc. All Rights Reserved
//  THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
//  BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
//  Freescale Semiconductor, Inc.
//
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
//
//  File:  i2cbus.h
//
//  Header file for I2C bus driver.
//
//------------------------------------------------------------------------------
#ifndef __I2CBUS_H__
#define __I2CBUS_H__

#ifdef __cplusplus
extern "C" {
#endif

//------------------------------------------------------------------------------
// Defines
//------------------------------------------------------------------------------

#define I2C_NO_ERROR                        0           // Last operation successful
#define I2C_ERR_MOPS_CREATE                 -1          // Mutex Creation failed
#define I2C_ERR_PA_VA_MISSING               -2          // Physical -> Virtual Mapping failed
#define I2C_ERR_EOPS_CREATE                 -3          // Event Creation failed
#define I2C_ERR_IRQ_SYSINTR_MISSING         -4          // IRQ -> System Interrupt ID Mapping failed
#define I2C_ERR_INT_INIT                    -5          // Interrupt Initialization failed
#define I2C_ERR_WORKER_THREAD               -6          // Worker thread failed
#define I2C_ERR_NO_ACK_ISSUED               -7          // No Acknowledge Issued
#define I2C_ERR_NULL_BUF                    -8          // NULL Buffer
#define I2C_ERR_INVALID_BUFSIZE             -9          // Invalid Buffer Size
#define I2C_ERR_NULL_LPIRESULT              -10         // NULL lpiResult field
#define I2C_ERR_CLOCK_FAILURE               -11         // CRM Operation Failure
#define I2C_ERR_TRANSFER_TIMEOUT            -12         // I2C transmit timeout error
#define I2C_ERR_ARBITRATION_LOST            -13         // I2C arbitration lost error

#define I2C_RW_WRITE                    1               // Perform Write operation
#define I2C_RW_READ                     2               // Perform Read operation

// IO Control Codes
//
// Developers are encourage to use the macros listed below to access the driver
// capabilities.
// All the IOCTL codes provided here has a macro equivalent. The details for each
// IOCTL will be explained in the corresponding macros.
//
#define I2C_IOCTL_SET_SLAVE_MODE            CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3000, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Set I2C Bus to Slave Mode
#define I2C_IOCTL_SET_MASTER_MODE           CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3001, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Set I2C Bus to Master Mode
#define I2C_IOCTL_IS_MASTER                 CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3002, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Is it in Master Mode?
#define I2C_IOCTL_IS_SLAVE                  CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3003, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Is it in Slave Mode?
#define I2C_IOCTL_GET_CLOCK_RATE            CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3004, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Get Last Known Clock Rate
#define I2C_IOCTL_SET_CLOCK_RATE            CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3005, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Set Clock Rate
#define I2C_IOCTL_SET_FREQUENCY             CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3006, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Set the desired frequency. Note this is
                                                                                                                        // different from set clock rate. Set clock
                                                                                                                        // rate uses the values in the I2C Spec Table
                                                                                                                        // This function code will determine the best
                                                                                                                        // clock rate to used based on the hw clock
#define I2C_IOCTL_SET_SELF_ADDR             CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3007, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Set My Address (Slave Mode)
#define I2C_IOCTL_GET_SELF_ADDR             CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3008, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Get My Address (Slave Mode)
#define I2C_IOCTL_TRANSFER                  CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3009, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Transfer Data
#define I2C_IOCTL_RESET                     CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 3010, METHOD_BUFFERED, FILE_ANY_ACCESS)  // Software Reset


// I2C Bus Class
#define I2C_BUS_CAM                 1           // CAM Bus Index
#define I2C_BUS_AUD                 2           // AUD Bus Index

// I2C File Name
#define I2C_FID_CAM                 _T("I2C1:")     // CAM File Index
#define I2C_FID_AUD                 _T("I2C2:")     // AUD File Index


// IOCTL_MACROS
// Please note that literal values cannot be used. Whatever values that is to be passed into the macro must
// reside in a variable.
//
// Example: to check if the bus is in master mode
//
//  BOOL bIsMaster = FALSE;
//
//  I2C_MACRO_IS_MASTER(hI2C, bIsMaster);
//
//  if (bIsMaster == TRUE)
//      printf("I2C Bus is in master mode");
//  else
//      printf("I2C Bus is in slave mode");
//

//-----------------------------------------------------------------------------
//
// Macro:   I2C_MACRO_SET_SLAVE_MODE
//
// This macro set the I2C device in slave mode.
//
// Parameters:
//      hDev
//          [in]    The I2C device handle retrieved from CreateFile().
//
// Returns:
//      Return TRUE or FALSE. If the result is TRUE, the operation is
//      successful.
//
//-----------------------------------------------------------------------------
#define I2C_MACRO_SET_SLAVE_MODE(hDev) \
    (DeviceIoControl(hDev, I2C_IOCTL_SET_SLAVE_MODE, NULL, 0, NULL, 0, NULL, NULL))

//-----------------------------------------------------------------------------
//
// Macro:   I2C_MACRO_SET_MASTER_MODE
//
// This macro set the I2C device in master mode.
//
// Parameters:
//      hDev
//          [in]    The I2C device handle retrieved from CreateFile().
//
// Returns:
//      Return TRUE or FALSE. If the result is TRUE, the operation is
//      successful.
//
//-----------------------------------------------------------------------------
#define I2C_MACRO_SET_MASTER_MODE(hDev) \
    (DeviceIoControl(hDev, I2C_IOCTL_SET_MASTER_MODE, NULL, 0, NULL, 0, NULL, NULL))

//-----------------------------------------------------------------------------
//
// Macro:   I2C_MACRO_IS_MASTER
//
// This macro determines whether the I2C is currently in Master mode.
//
// Parameters:
//      hDev
//          [in]    The I2C device handle retrieved from CreateFile().
//      bIsMaster
//          [out]   TRUE if the I2C device is in Master mode.
//
// Returns:
//      Return TRUE or FALSE. If the result is TRUE, the operation is
//      successful.
//
//-----------------------------------------------------------------------------
#define I2C_MACRO_IS_MASTER(hDev, bIsMaster) \
    (DeviceIoControl(hDev, I2C_IOCTL_IS_MASTER, NULL, 0, (PBYTE) &bIsMaster, sizeof(bIsMaster), NULL, NULL))

//-----------------------------------------------------------------------------
//
// Macro:   I2C_MACRO_IS_SLAVE
//
// This macro determines whether the I2C is currently in Slave mode.
//
// Parameters:
//      hDev
//          [in]    The I2C device handle retrieved from CreateFile().
//      bIsSlave
//          [out]   TRUE if the I2C device is in Slave mode.
//
// Returns:
//      Return TRUE or FALSE. If the result is TRUE, the operation is
//      successful.
//
//-----------------------------------------------------------------------------
#define I2C_MACRO_IS_SLAVE(hDev, bIsSlave) \
    (DeviceIoControl(hDev, I2C_IOCTL_IS_SLAVE, NULL, 0, (PBYTE) &bIsSlave, sizeof(bIsSlave), NULL, NULL))

//-----------------------------------------------------------------------------
//
// Macro:   I2C_MACRO_GET_CLOCK_RATE
//
// This macro will retrieve the clock rate divisor. Note that the value is not
// the absolute peripheral clock frequency. The value retrieved should be
// compared against the I2C specifications to obtain the true frequency.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av网站一区二区三区| 欧美精品123区| 欧美精品亚洲二区| 欧美激情资源网| 五月综合激情日本mⅴ| 国产福利一区在线观看| 欧美日韩激情在线| 国产精品国产三级国产有无不卡| 五月天激情综合网| 91小宝寻花一区二区三区| 欧美一区二区免费视频| |精品福利一区二区三区| 另类小说视频一区二区| 色94色欧美sute亚洲线路一ni| 精品国产污网站| 婷婷综合五月天| 色婷婷国产精品综合在线观看| 国产午夜精品一区二区三区四区| 五月天亚洲精品| 在线观看亚洲a| 中文字幕一区av| 成人久久18免费网站麻豆 | 国产日产精品1区| 日韩成人免费电影| 欧美日韩一区二区三区四区五区| 日本一区二区三区电影| 久久www免费人成看片高清| 欧美日韩视频在线一区二区| 一区二区在线观看免费| 91啪在线观看| 成人免费在线观看入口| 成人精品国产福利| 国产精品护士白丝一区av| 国产91精品入口| 久久久久综合网| 国产激情一区二区三区桃花岛亚洲| 日韩一区二区三区视频| 美女视频一区在线观看| 日韩欧美一区二区免费| 美女网站视频久久| 日韩欧美国产系列| 久久99国产精品免费| 欧美精品一区二区精品网| 经典三级一区二区| 久久久精品日韩欧美| 成人免费视频一区| 中文字幕一区二区三区乱码在线 | 91国偷自产一区二区三区观看| 日韩一区中文字幕| 99国产精品国产精品毛片| 玉足女爽爽91| 日韩视频在线永久播放| 久久成人久久爱| 国产精品传媒入口麻豆| 欧美伊人久久久久久久久影院| 香蕉久久夜色精品国产使用方法 | 国产精品日产欧美久久久久| 91丨porny丨首页| 亚洲午夜久久久久| 日韩精品一区二区三区四区| 国产99久久久国产精品潘金| 亚洲视频免费在线| 日韩一级免费一区| 不卡视频在线看| 亚洲电影一级黄| 久久久久国产一区二区三区四区| 国产99精品国产| 一区二区久久久久| 欧美日韩你懂的| 久久精品国产色蜜蜜麻豆| 久久精品欧美日韩| 91免费国产在线观看| 国产亚洲成aⅴ人片在线观看| 色综合久久综合网欧美综合网| 亚洲色图一区二区| 欧美日韩不卡一区| 国内外成人在线| 亚洲三级理论片| 91精品国产乱码久久蜜臀| 国精产品一区一区三区mba视频| 久久久精品日韩欧美| 精品在线播放午夜| 久久综合久久综合亚洲| 波多野结衣视频一区| 亚洲国产美国国产综合一区二区| 制服丝袜av成人在线看| 成人免费看黄yyy456| 亚洲自拍与偷拍| 欧美精品一区男女天堂| 91网站最新网址| 亚洲成人av免费| 国产亚洲婷婷免费| 欧美老肥妇做.爰bbww视频| 国内精品久久久久影院薰衣草| 中文字幕一区三区| 精品国产精品一区二区夜夜嗨| 波多野结衣一区二区三区| 日韩中文字幕不卡| 国产精品久久久久精k8| 欧美日高清视频| 91福利在线免费观看| 国产精选一区二区三区| 亚洲国产毛片aaaaa无费看 | 欧美视频一区二| 国产高清精品久久久久| 日韩av电影免费观看高清完整版| 国产精品美日韩| 欧美精品一区二区三区久久久 | 日产国产欧美视频一区精品| 精品国产一区二区三区av性色| 欧洲另类一二三四区| 国产精品1024| 青青青爽久久午夜综合久久午夜| 亚洲欧美日韩在线不卡| 久久久久成人黄色影片| 91麻豆精品国产91久久久| 国产91丝袜在线播放| 美美哒免费高清在线观看视频一区二区 | 国产精品午夜免费| 精品久久国产字幕高潮| 欧美一区二区大片| 欧美日韩一级二级| 91国偷自产一区二区三区观看 | 日韩欧美一级二级| 欧美日韩和欧美的一区二区| 成人久久18免费网站麻豆| 国产一区二区三区黄视频| 精品一区二区在线视频| 日韩精品五月天| 亚洲图片欧美一区| 亚洲精品欧美激情| 伊人一区二区三区| 国产精品妹子av| 亚洲综合成人在线视频| 亚洲国产中文字幕| 五月综合激情网| 日本中文在线一区| 另类小说图片综合网| 亚洲 欧美综合在线网络| 亚洲一卡二卡三卡四卡| 日韩影院免费视频| 麻豆传媒一区二区三区| 韩国精品在线观看| 国产91清纯白嫩初高中在线观看 | 中文字幕在线观看不卡| 亚洲欧美色一区| 亚洲欧美经典视频| 首页欧美精品中文字幕| 蜜臀av一区二区在线观看| 国产真实精品久久二三区| 韩国成人精品a∨在线观看| 亚洲电影视频在线| 亚洲bdsm女犯bdsm网站| 秋霞成人午夜伦在线观看| 久久91精品久久久久久秒播| 精品一区二区三区在线观看国产 | 欧美性色黄大片手机版| 制服丝袜亚洲播放| 国产情人综合久久777777| 亚洲人成伊人成综合网小说| 亚洲国产sm捆绑调教视频 | 亚洲国产视频a| 免费人成精品欧美精品| 久久精品国产免费| 欧美中文字幕一区二区三区亚洲| 777奇米四色成人影色区| 久久久久99精品一区| 洋洋成人永久网站入口| 日本强好片久久久久久aaa| 国产精品911| 欧美日韩一本到| 国产欧美日韩亚州综合| 国产精品成人在线观看| 夜夜精品浪潮av一区二区三区 | 综合激情成人伊人| 日产国产欧美视频一区精品| 国产二区国产一区在线观看| 色欧美片视频在线观看在线视频| 日韩午夜小视频| 亚洲精品中文在线观看| 国产原创一区二区| 欧美日韩免费视频| 中文字幕第一页久久| 亚洲18色成人| 91在线看国产| 26uuu国产日韩综合| 一区二区高清免费观看影视大全| 国产一区二区三区久久悠悠色av| 欧美中文字幕久久| 日韩美女精品在线| 国产99久久久国产精品潘金网站| 欧美美女视频在线观看| 国产精品家庭影院| 国产乱码精品一区二区三区av| 欧美日韩精品三区| 国产精品午夜免费| 国产成人aaa| 亚洲精品一区二区三区精华液| 一区二区三区.www| 一本久久a久久精品亚洲|