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

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

?? sbc.h

?? IAR5.2下 AT91SAM9260 ARM 對 MCP2515 控制源化碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* ----------------------------------------------------------------------------
 *         ATMEL Microcontroller Software Support 
 * ----------------------------------------------------------------------------
 * Copyright (c) 2008, Atmel Corporation
 *
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the disclaimer below.
 *
 * Atmel's name may not be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * ----------------------------------------------------------------------------
 */

//------------------------------------------------------------------------------
/// \unit
/// !Purpose
/// 
/// SCSI definitions.
/// 
/// !Usage
/// 
/// TODO
//------------------------------------------------------------------------------

#ifndef SBC_H
#define SBC_H

//------------------------------------------------------------------------------
//      Definitions
//------------------------------------------------------------------------------

//! \brief  Operation codes of commands described in the SBC-3 standard
//!
//!         Note that most commands are actually defined in other standards,
//!         like SPC-4. Optional commands are not included here.
//! \see    sbc3r07.pdf - Section 5.1 - Table 12
//! \see    spc4r06.pdf
//! \see    SBCCommand
#define SBC_INQUIRY                                     0x12
#define SBC_READ_10                                     0x28
#define SBC_READ_CAPACITY_10                            0x25
#define SBC_REQUEST_SENSE                               0x03
#define SBC_TEST_UNIT_READY                             0x00
#define SBC_WRITE_10                                    0x2A

// Optional according to the standard, required by Windows
#define SBC_PREVENT_ALLOW_MEDIUM_REMOVAL                0x1E
#define SBC_MODE_SENSE_6                                0x1A
#define SBC_VERIFY_10                                   0x2F

//! \brief  Peripheral qualifier values specified in the INQUIRY data
//! \see    spc4r06.pdf - Section 6.4.2 - Table 83
//! \see    SBCInquiry_data
#define SBC_PERIPHERAL_DEVICE_CONNECTED                 0x00
#define SBC_PERIPHERAL_DEVICE_NOT_CONNECTED             0x01
#define SBC_PERIPHERAL_DEVICE_NOT_SUPPORTED             0x03

//! \brief  Peripheral device types specified in the INQUIRY data
//! \see    spc4r06.pdf - Section 6.4.2 - Table 84
//! \see    SBCInquiry_data
#define SBC_DIRECT_ACCESS_BLOCK_DEVICE              0x00
#define SBC_SEQUENTIAL_ACCESS_DEVICE                0x01
#define SBC_PRINTER_DEVICE                          0x02
#define SBC_PROCESSOR_DEVICE                        0x03
#define SBC_WRITE_ONCE_DEVICE                       0x04
#define SBC_CD_DVD_DEVICE                           0x05
#define SBC_SCANNER_DEVICE                          0x06
#define SBC_OPTICAL_MEMORY_DEVICE                   0x07
#define SBC_MEDIA_CHANGER_DEVICE                    0x08
#define SBC_COMMUNICATION_DEVICE                    0x09
#define SBC_STORAGE_ARRAY_CONTROLLER_DEVICE         0x0C
#define SBC_ENCLOSURE_SERVICES_DEVICE               0x0D
#define SBC_SIMPLIFIED_DIRECT_ACCESS_DEVICE         0x0E
#define SBC_OPTICAL_CARD_READER_WRITER_DEVICE       0x0F
#define SBC_BRIDGE_CONTROLLER_COMMANDS              0x10
#define SBC_OBJECT_BASED_STORAGE_DEVICE             0x11

//! \brief  Version value for the SBC-3 specification
//! \see    spc4r06.pdf - Section 6.4.2 - Table 85
#define SBC_SPC_VERSION_4                           0x06

//! \brief  Values for the TPGS field returned in INQUIRY data
//! \see    spc4r06.pdf - Section 6.4.2 - Table 86
#define SBC_TPGS_NONE                               0x0
#define SBC_TPGS_ASYMMETRIC                         0x1
#define SBC_TPGS_SYMMETRIC                          0x2
#define SBC_TPGS_BOTH                               0x3

//! \brief  Version descriptor value for the SBC-3 specification
//! \see    spc4r06.pdf - Section 6.4.2 - Table 87
#define SBC_VERSION_DESCRIPTOR_SBC_3                0x04C0

//! \brief  Sense data response codes returned in REQUEST SENSE data
//! \see    spc4r06.pdf - Section 4.5.1 - Table 12
#define SBC_SENSE_DATA_FIXED_CURRENT                0x70
#define SBC_SENSE_DATA_FIXED_DEFERRED               0x71
#define SBC_SENSE_DATA_DESCRIPTOR_CURRENT           0x72
#define SBC_SENSE_DATA_DESCRIPTOR_DEFERRED          0x73

//! \brief  Sense key values returned in the REQUEST SENSE data
//! \see    spc4r06.pdf - Section 4.5.6 - Table 27
#define SBC_SENSE_KEY_NO_SENSE                        0x00
#define SBC_SENSE_KEY_RECOVERED_ERROR                 0x01
#define SBC_SENSE_KEY_NOT_READY                       0x02
#define SBC_SENSE_KEY_MEDIUM_ERROR                    0x03
#define SBC_SENSE_KEY_HARDWARE_ERROR                  0x04
#define SBC_SENSE_KEY_ILLEGAL_REQUEST                 0x05
#define SBC_SENSE_KEY_UNIT_ATTENTION                  0x06
#define SBC_SENSE_KEY_DATA_PROTECT                    0x07
#define SBC_SENSE_KEY_BLANK_CHECK                     0x08
#define SBC_SENSE_KEY_VENDOR_SPECIFIC                 0x09
#define SBC_SENSE_KEY_COPY_ABORTED                    0x0A
#define SBC_SENSE_KEY_ABORTED_COMMAND                 0x0B
#define SBC_SENSE_KEY_VOLUME_OVERFLOW                 0x0D
#define SBC_SENSE_KEY_MISCOMPARE                      0x0E

//! \brief  Additional sense code values returned in REQUEST SENSE data
//! \see    spc4r06.pdf - Section 4.5.6 - Table 28
#define SBC_ASC_LOGICAL_UNIT_NOT_READY                0x04
#define SBC_ASC_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE    0x21
#define SBC_ASC_INVALID_FIELD_IN_CDB                  0x24
#define SBC_ASC_WRITE_PROTECTED                       0x27
#define SBC_ASC_FORMAT_CORRUPTED                      0x31
#define SBC_ASC_INVALID_COMMAND_OPERATION_CODE        0x20
#define SBC_ASC_TOO_MUCH_WRITE_DATA                   0x26
#define SBC_ASC_NOT_READY_TO_READY_CHANGE             0x28
#define SBC_ASC_MEDIUM_NOT_PRESENT                    0x3A

//! \brief  MEDIUM TYPE field value for direct-access block devices
//! \see    sbc3r06.pdf - Section 6.3.1
#define SBC_MEDIUM_TYPE_DIRECT_ACCESS_BLOCK_DEVICE    0x00

//! \brief  MRIE field values
//! \see    sbc3r06.pdf - Section 7.4.11 - Table 286
#define SBC_MRIE_NO_REPORTING                         0x00
#define SBC_MRIE_ASYNCHRONOUS                         0x01
#define SBC_MRIE_GENERATE_UNIT_ATTENTION              0x02
#define SBC_MRIE_COND_GENERATE_RECOVERED_ERROR        0x03
#define SBC_MRIE_UNCOND_GENERATE_RECOVERED_ERROR      0x04
#define SBC_MRIE_GENERATE_NO_SENSE                    0x05
#define SBC_MRIE_ON_REQUEST                           0x06

//! \brief  Supported mode pages
//! \see    sbc3r06.pdf - Section 6.3.1 - Table 115
#define SBC_PAGE_READ_WRITE_ERROR_RECOVERY            0x01
#define SBC_PAGE_INFORMATIONAL_EXCEPTIONS_CONTROL     0x1C
#define SBC_PAGE_RETURN_ALL                           0x3F
#define SBC_PAGE_VENDOR_SPECIFIC                      0x00

//! \brief  Converts a byte array to a word value using the big endian format
#define WORDB(bytes)            ((unsigned short) ((bytes[0] << 8) | bytes[1]))

//! \brief  Converts a byte array to a dword value using the big endian format
#define DWORDB(bytes)   ((unsigned int) ((bytes[0] << 24) | (bytes[1] << 16) \
                                         | (bytes[2] << 8) | bytes[3]))

//! \brief  Stores a dword value in a byte array, in big endian format
#define STORE_DWORDB(dword, bytes) \
    bytes[0] = (unsigned char) (((dword) >> 24) & 0xFF); \
    bytes[1] = (unsigned char) (((dword) >> 16) & 0xFF); \
    bytes[2] = (unsigned char) (((dword) >> 8) & 0xFF); \
    bytes[3] = (unsigned char) ((dword) & 0xFF);

//! \brief  Stores a word value in a byte array, in big endian format
#define STORE_WORDB(word, bytes) \
    bytes[0] = (unsigned char) (((word) >> 8) & 0xFF); \
    bytes[1] = (unsigned char) ((word) & 0xFF);

//------------------------------------------------------------------------------
//      Structures
//------------------------------------------------------------------------------

#ifdef __ICCARM__          // IAR
#pragma pack(1)            // IAR
#define __attribute__(...) // IAR
#endif                     // IAR

//! \brief  Structure for the INQUIRY command
//! \see    spc4r06.pdf - Section 6.4.1 - Table 81
typedef struct {

    unsigned char bOperationCode;       //!< 0x12 : SBC_INQUIRY
    unsigned char isEVPD:1,             //!< Type of requested data
                  bReserved1:7;         //!< Reserved bits
    unsigned char bPageCode;            //!< Specifies the VPD to return
    unsigned char pAllocationLength[2]; //!< Size of host buffer
    unsigned char bControl;             //!< 0x00

} __attribute__ ((packed)) SBCInquiry; // GCC

//! \brief  Standard INQUIRY data format returned by the device
//! \see    spc4r06.pdf - Section 6.4.2 - Table 82
typedef struct {

    unsigned char  bPeripheralDeviceType:5, //!< Peripheral device type
                   bPeripheralQualifier :3; //!< Peripheral qualifier
    unsigned char  bReserved1:7,            //!< Reserved bits
                   isRMB     :1;            //!< Is media removable ?
    unsigned char  bVersion;                //!< SPC version used
    unsigned char  bResponseDataFormat:4,   //!< Must be 0x2
                   isHIGHSUP          :1,   //!< Hierarchical addressing used ?
                   isNORMACA          :1,   //!< ACA attribute supported ?
                   bObsolete1         :2;   //!< Obsolete bits
    unsigned char  bAdditionalLength;       //!< Length of remaining INQUIRY data
    unsigned char  isSCCS    :1,            //!< Embedded SCC ?
                   isACC     :1,            //!< Access control coordinator ?
                   bTPGS     :2,            //!< Target port support group
                   is3PC     :1,            //!< Third-party copy supported ?
                   bReserved2:2,            //!< Reserved bits
                   isProtect :1;            //!< Protection info supported ?
    unsigned char  bObsolete2:1,            //!< Obsolete bit
                   isEncServ :1,            //!< Embedded enclosure service comp?
                   isVS      :1,            //!< ???
                   isMultiP  :1,            //!< Multi-port device ?
                   bObsolete3:3,            //!< Obsolete bits
                   bUnused1  :1;            //!< Unused feature
    unsigned char  bUnused2:6,              //!< Unused features
                   isCmdQue:1,              //!< Task management model supported ?
                   isVS2   :1;              //!< ???
    unsigned char  pVendorID[8];            //!< T10 vendor identification
    unsigned char  pProductID[16];          //!< Vendor-defined product ID

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品噜噜噜噜久久久久久久久试看| 色综合久久88色综合天天| 亚洲综合免费观看高清完整版在线| 久久久99精品免费观看不卡| 精品日本一线二线三线不卡| 日韩一级大片在线观看| 亚洲综合视频在线观看| 欧美日韩免费高清一区色橹橹 | 91老师国产黑色丝袜在线| 美女精品自拍一二三四| 精品亚洲成a人| 精品国产三级电影在线观看| 精品嫩草影院久久| 精品国产露脸精彩对白| 久久美女高清视频| 国产午夜亚洲精品羞羞网站| 国产农村妇女毛片精品久久麻豆 | 日韩精品久久理论片| 丝袜亚洲另类丝袜在线| 日韩av成人高清| 美脚の诱脚舐め脚责91| 激情六月婷婷久久| 成人性生交大片| 色婷婷综合激情| 欧美日韩中文一区| 日韩一本二本av| 国产亚洲婷婷免费| 国产成人欧美日韩在线电影| 中文字幕在线播放不卡一区| 色婷婷激情久久| 欧美性色综合网| 欧美一卡2卡3卡4卡| 精品国产网站在线观看| 国产精品成人免费精品自在线观看| 亚洲色图20p| 国产精品99久久久久久久vr| 一区二区三区精密机械公司| 午夜国产精品一区| 国产美女久久久久| 91美女视频网站| 日韩一级片网站| 国产精品美女久久久久久2018| 91精品国产乱码| 国产欧美日韩亚州综合 | 国产色综合一区| 一区二区三区不卡视频| 久久国产婷婷国产香蕉| 波多野结衣在线aⅴ中文字幕不卡| 欧美图区在线视频| 日韩一本二本av| 国产成人午夜片在线观看高清观看| 国内精品视频一区二区三区八戒 | 成人性生交大合| 欧美日韩美女一区二区| 欧美精品一区二区三区久久久| 中文字幕一区二区三区av| 亚洲成在人线在线播放| 国产成人av电影在线| 欧美日韩在线三级| 国产精品视频yy9299一区| 天堂成人免费av电影一区| 国产**成人网毛片九色| 国产欧美日韩久久| 久久久久久毛片| 欧美一区二区三区成人| 亚洲欧美日韩国产手机在线 | 9191国产精品| 国产精品毛片无遮挡高清| 欧美aaaaaa午夜精品| 色天天综合色天天久久| 国产iv一区二区三区| 97精品国产97久久久久久久久久久久| 欧美一区二区高清| 亚洲一区在线看| 午夜精品福利视频网站| av影院午夜一区| 综合久久久久久| 精品一区在线看| 这里只有精品视频在线观看| 亚洲欧美二区三区| 成人黄色小视频在线观看| 精品美女在线播放| 青青草91视频| 欧美日韩成人激情| 亚洲国产毛片aaaaa无费看 | 日本高清不卡一区| 国产精品日产欧美久久久久| 精品一区二区在线视频| 日韩一卡二卡三卡| 男人的天堂亚洲一区| 91麻豆精品国产91久久久使用方法 | 日韩精品一区二区三区在线播放| 亚洲激情av在线| 99re这里只有精品首页| 国产三区在线成人av| 国产一区二区三区在线观看免费| 91精品国产综合久久久蜜臀图片| 亚洲国产综合91精品麻豆| 色综合激情五月| 亚洲欧洲日韩av| av毛片久久久久**hd| 亚洲国产成人午夜在线一区| 国产成人精品午夜视频免费| 日韩你懂的在线播放| 免费在线观看成人| 日韩午夜小视频| 捆绑调教美女网站视频一区| 日韩欧美一二三| 久久成人羞羞网站| 久久先锋资源网| 国产高清视频一区| 国产精品午夜久久| av中文字幕亚洲| 亚洲精品亚洲人成人网在线播放| 色999日韩国产欧美一区二区| 欧美一区二区三区色| 麻豆91在线看| 国产亚洲成av人在线观看导航| 国产成人综合精品三级| 亚洲欧美自拍偷拍| 91成人免费在线| 天堂在线一区二区| 欧美成人精品3d动漫h| 国模一区二区三区白浆| 91亚洲精品乱码久久久久久蜜桃| 亚洲黄色av一区| 国产激情一区二区三区桃花岛亚洲| 亚洲成人av一区二区| 国产一区二区不卡老阿姨| 国产欧美日韩在线看| 日本高清无吗v一区| 人人超碰91尤物精品国产| 久久综合久久综合亚洲| 成人av在线看| 一区二区三区加勒比av| 日韩欧美二区三区| 国产成人午夜精品5599| 亚洲码国产岛国毛片在线| 国产亚洲女人久久久久毛片| 国产盗摄女厕一区二区三区| 亚洲日本在线观看| 91精品国产综合久久福利| 国产福利不卡视频| 一区二区三区在线视频播放| 日韩一区二区精品| 91丨porny丨最新| 日韩电影一区二区三区四区| 国产日韩av一区二区| 欧美午夜精品一区二区蜜桃| 精品一区二区三区不卡| 亚洲视频免费看| 日韩欧美国产不卡| 色婷婷国产精品| 国内精品写真在线观看| 亚洲综合视频网| 久久精品男人的天堂| 欧美日韩激情一区二区| 国产成人欧美日韩在线电影| 天堂久久一区二区三区| 中文字幕av资源一区| 极品销魂美女一区二区三区| 中文字幕一区二区在线播放| 91精品国产综合久久精品 | 欧美理论在线播放| 国产99久久久国产精品免费看| 国产成人日日夜夜| 欧美韩国日本一区| 欧美一区二区三区视频在线观看| 成人黄色免费短视频| 久色婷婷小香蕉久久| 亚洲午夜久久久久久久久电影网| 欧美—级在线免费片| 日韩欧美国产小视频| 欧美综合一区二区| 国产亚洲欧洲一区高清在线观看| 99国产欧美另类久久久精品| 久久99国内精品| 天天影视涩香欲综合网| 亚洲欧美日本韩国| 国产人久久人人人人爽| 欧美大胆一级视频| 国产精品自拍网站| 色婷婷国产精品综合在线观看| 经典一区二区三区| 天天色综合天天| 亚洲永久精品大片| 综合激情网...| 国产精品欧美极品| 久久久高清一区二区三区| 日韩一区二区三区高清免费看看| 欧美亚洲国产bt| 偷拍自拍另类欧美| 亚洲综合成人在线| 一区二区三区在线看| 亚洲欧美一区二区三区国产精品 | 国产在线观看免费一区| 日本网站在线观看一区二区三区 | 国产成人免费av在线| 国产综合色产在线精品 | 午夜电影一区二区|