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

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

?? i2cbus.h

?? mx27 f14v2 源代碼。包括ADS板上諸多驅動的源碼。
?? 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-2006, Freescale Semiconductor, Inc. All Rights Reserved.
//  THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
//  AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
//
//------------------------------------------------------------------------------
//
//  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

#define I2C_MAX_FREQUENCY                   300000      // Maximum I2C frequency setting

// 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂影院一区二区| 色综合中文字幕国产 | 久久青草欧美一区二区三区| 日本三级亚洲精品| 日韩免费看的电影| 在线亚洲一区观看| 色8久久精品久久久久久蜜| 国产精品久久久久久久久图文区| 成人av网在线| 一区二区三区在线视频免费| 欧美亚洲自拍偷拍| 免费成人你懂的| 国产拍欧美日韩视频二区| 成人美女视频在线看| 一区二区三区精品在线| 欧美一级理论片| 成人晚上爱看视频| 亚洲在线视频网站| 欧美成人女星排名| av激情成人网| 欧美a级一区二区| 欧美国产日产图区| 欧美色精品在线视频| 蜜臀99久久精品久久久久久软件| 国产午夜精品久久| 在线国产电影不卡| 亚洲欧洲日本在线| av激情成人网| 免费在线欧美视频| 中文字幕 久热精品 视频在线| 91丨porny丨最新| 蜜臀99久久精品久久久久久软件| 欧美精彩视频一区二区三区| 欧美色综合久久| 丰满岳乱妇一区二区三区| 亚洲一线二线三线久久久| 日韩精品一区二区三区中文精品| av男人天堂一区| 久久97超碰国产精品超碰| 亚洲日本在线a| 精品久久一区二区| 色久综合一二码| 国产高清无密码一区二区三区| 亚洲图片欧美一区| 国产精品国产三级国产aⅴ原创| 这里是久久伊人| 91久久久免费一区二区| 国产二区国产一区在线观看| 亚洲1区2区3区4区| 中文字幕一区不卡| 久久久99久久| 黄色精品一二区| 欧美一区二区在线免费观看| 成人动漫在线一区| 久久精品国产99国产精品| 一区二区三区四区在线| 国产情人综合久久777777| 欧美一级高清大全免费观看| 91久久奴性调教| 99国产精品视频免费观看| 国产精品夜夜嗨| 久久99最新地址| 久久精品国产99久久6| 日本欧美一区二区三区乱码| 亚洲国产精品久久人人爱蜜臀| 亚洲男同性恋视频| ㊣最新国产の精品bt伙计久久| 国产亚洲女人久久久久毛片| 精品国产1区二区| 欧美xxxx老人做受| 日韩一区二区三区视频在线| 欧美精品第1页| 欧美日本一区二区| 69堂精品视频| 日韩一区二区免费高清| eeuss影院一区二区三区| 欧美日韩精品一二三区| 99国内精品久久| 99综合影院在线| 99re66热这里只有精品3直播 | 香蕉成人伊视频在线观看| 亚洲在线观看免费| 午夜a成v人精品| 奇米888四色在线精品| 久久99精品国产.久久久久久| 毛片一区二区三区| 国产尤物一区二区在线| 国产精品888| 91麻豆自制传媒国产之光| 色哟哟在线观看一区二区三区| 欧美亚男人的天堂| 欧美一区二区精品久久911| 久久综合久久99| 国产精品沙发午睡系列990531| 亚洲人成亚洲人成在线观看图片| 亚洲精品视频在线| 亚洲成a人在线观看| 偷拍一区二区三区| 成人小视频免费观看| 伊人性伊人情综合网| 一区2区3区在线看| 天天影视色香欲综合网老头| 久久精品99国产精品| 国产成人av一区二区三区在线| 97se亚洲国产综合自在线| 欧美色网一区二区| 久久久一区二区三区捆绑**| 1区2区3区精品视频| 婷婷综合另类小说色区| 国产成人av资源| 欧美性欧美巨大黑白大战| 日韩精品一区二区三区蜜臀 | 日本亚洲视频在线| 国产在线观看一区二区| 91久久奴性调教| 久久久精品免费免费| 一区二区三区日韩在线观看| 蜜臀91精品一区二区三区| 丁香网亚洲国际| 欧美二区在线观看| 国产精品看片你懂得| 三级在线观看一区二区| 欧美日韩国产首页| 亚洲123区在线观看| 久久精品国产免费| 色综合 综合色| 久久久青草青青国产亚洲免观| 亚洲精品视频在线| 国产v综合v亚洲欧| 日韩一区二区影院| 一区二区三区国产| 成人午夜电影小说| 日韩视频一区二区三区在线播放 | 国产精品久久三区| 日本免费新一区视频| 91极品美女在线| 国产精品无遮挡| 国产一区二区三区免费在线观看| 精品视频1区2区| 亚洲三级在线观看| 成人久久18免费网站麻豆| 久久综合中文字幕| 日本强好片久久久久久aaa| 在线欧美日韩国产| 中文字幕在线观看一区| 国产精品一卡二卡| 精品国内片67194| 日本在线不卡一区| 欧美日韩精品一区视频| 91精品国产高清一区二区三区 | 精品国产1区2区3区| 有码一区二区三区| 成人综合婷婷国产精品久久蜜臀| 日韩欧美精品在线| 免费看欧美女人艹b| 欧美精品乱码久久久久久| 亚洲黄色小视频| 91黄色免费看| 亚洲夂夂婷婷色拍ww47| 在线一区二区三区| 亚洲综合在线第一页| 色综合久久久久久久久| 中文字幕一区在线观看视频| 成人中文字幕在线| 国产精品全国免费观看高清| 国产69精品久久99不卡| 国产婷婷色一区二区三区| 高清不卡一区二区| 欧美激情资源网| 不卡视频一二三四| 亚洲欧美区自拍先锋| 91国产免费观看| 亚洲成人你懂的| 91精品婷婷国产综合久久性色| 午夜国产精品一区| 亚洲视频中文字幕| 日韩和的一区二区| 欧美日韩色一区| 首页综合国产亚洲丝袜| 91精品国产麻豆| 韩国成人精品a∨在线观看| 国产亚洲欧美色| 99久久久无码国产精品| 亚洲已满18点击进入久久| 欧美三级中文字| 日本va欧美va瓶| 欧美精品一区二区三区在线| 国产成人精品三级| 中文字幕亚洲欧美在线不卡| 欧美三日本三级三级在线播放| 日韩国产在线一| 欧美国产乱子伦| 欧美视频日韩视频在线观看| 久久精品999| 国产精品国产三级国产| 欧美日韩成人综合在线一区二区| 精品亚洲成av人在线观看| 国产精品护士白丝一区av| 欧美日韩高清在线播放| 国产伦精品一区二区三区免费|