亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日韩一级片网站| 亚洲综合色自拍一区| 亚洲视频你懂的| 狠狠色丁香久久婷婷综合丁香| 成人免费看视频| 91精品国产综合久久久久久漫画| 久久久影视传媒| 日韩国产欧美三级| 一本到三区不卡视频| 久久久99精品免费观看| 午夜不卡在线视频| 91麻豆国产自产在线观看| 26uuu欧美| 青青草一区二区三区| 欧美性极品少妇| 亚洲日本一区二区| 国产一区二区伦理片| 91精品中文字幕一区二区三区| 亚洲免费av在线| 99r精品视频| 欧美一区二区三区播放老司机| 一区二区三区中文在线观看| 粉嫩av亚洲一区二区图片| 欧美zozozo| 蜜桃一区二区三区四区| 欧美高清视频不卡网| 亚洲第一成人在线| 欧美日韩一区二区在线观看视频| 亚洲美女一区二区三区| av电影一区二区| 亚洲欧美在线高清| 岛国av在线一区| 中文字幕av资源一区| 粉嫩嫩av羞羞动漫久久久| 亚洲国产精品精华液ab| 国产成人免费高清| 欧美激情中文字幕| 成人精品视频网站| 中文字幕综合网| 色久优优欧美色久优优| 一区2区3区在线看| 欧美另类高清zo欧美| 午夜精品成人在线| 日韩一区二区精品在线观看| 久久成人免费网站| 国产亚洲女人久久久久毛片| 韩国女主播成人在线| 国产亚洲制服色| 不卡的av中国片| 亚洲男同1069视频| 欧美日韩一区二区三区高清| 无码av中文一区二区三区桃花岛| 日韩视频在线一区二区| 国产麻豆精品一区二区| 国产精品国产馆在线真实露脸 | 日韩欧美国产高清| 国产一二精品视频| 亚洲啪啪综合av一区二区三区| 91视频com| 老司机免费视频一区二区三区| 精品国产伦一区二区三区观看方式 | 日av在线不卡| 久久新电视剧免费观看| 91丨porny丨中文| 天堂在线一区二区| 欧美精彩视频一区二区三区| 91在线丨porny丨国产| 亚洲sss视频在线视频| 久久婷婷国产综合国色天香| 99国产精品一区| 久久精品噜噜噜成人av农村| 中文字幕一区二区三区精华液| 欧美丰满少妇xxxbbb| 丰满亚洲少妇av| 日日夜夜精品视频天天综合网| 国产日韩欧美精品一区| 欧美优质美女网站| 国产精品一区二区三区乱码| 亚洲欧美一区二区视频| 欧美成人猛片aaaaaaa| 91浏览器打开| 国产精品影视在线| 午夜电影一区二区三区| 亚洲国产精华液网站w| 日韩午夜av一区| 日本韩国欧美三级| 风流少妇一区二区| 久久电影国产免费久久电影 | 国产精品素人视频| 欧美一级黄色录像| 欧洲人成人精品| 暴力调教一区二区三区| 久久精工是国产品牌吗| 亚洲一区二区三区四区在线免费观看 | 国产欧美日韩在线看| 这里只有精品视频在线观看| 91丨porny丨国产| 国产高清不卡一区| 久久国产人妖系列| 精品国产免费一区二区三区四区| 91官网在线观看| 成人av网址在线| 精品一区二区免费看| 日本vs亚洲vs韩国一区三区二区| 亚洲一区国产视频| 亚洲欧美日韩国产综合在线| 国产清纯白嫩初高生在线观看91| 精品动漫一区二区三区在线观看| 欧美日韩电影在线播放| 在线观看视频一区| 一本一道久久a久久精品综合蜜臀| 成人爱爱电影网址| 成人动漫在线一区| 成人免费黄色在线| 成人av影院在线| 91亚洲男人天堂| 91香蕉视频在线| 色婷婷综合久久久中文字幕| 色综合久久天天| 一本到高清视频免费精品| 欧洲色大大久久| 欧美美女喷水视频| 日韩三级免费观看| 精品国产髙清在线看国产毛片| 欧美一区日本一区韩国一区| 欧美一区二区三区啪啪| 日韩精品一区二区三区视频| 日韩亚洲电影在线| 久久婷婷国产综合精品青草| 久久理论电影网| 亚洲欧洲日韩综合一区二区| 亚洲色图视频网站| 亚洲成人一区在线| 久久se精品一区精品二区| 国产乱码精品一品二品| 丰满岳乱妇一区二区三区| 91丨九色丨黑人外教| 欧美色图免费看| 精品久久人人做人人爽| 久久亚洲免费视频| 亚洲女与黑人做爰| 香蕉久久夜色精品国产使用方法| 蜜桃在线一区二区三区| 懂色av一区二区三区免费观看| 91同城在线观看| 欧美一区二区三区公司| 国产精品久久久久影院色老大| 亚洲色图19p| 久久国产精品99久久久久久老狼| 丁香婷婷综合网| 欧美亚州韩日在线看免费版国语版| 91精品婷婷国产综合久久性色 | 亚洲视频一区在线| 午夜视频一区二区三区| 国产一区二区成人久久免费影院| 91免费视频网| 精品国产一区二区国模嫣然| 中文字幕日韩一区| 蜜臂av日日欢夜夜爽一区| 成人免费视频免费观看| 91.com视频| 中文字幕一区二区三区不卡在线| 日韩电影在线一区| 91在线视频18| 久久久久国产精品免费免费搜索| 亚洲综合无码一区二区| 国产高清久久久| 欧美日韩国产另类不卡| 国产精品拍天天在线| 日本女优在线视频一区二区| 99re免费视频精品全部| 2020日本不卡一区二区视频| 亚洲伦在线观看| 国产精品夜夜爽| 欧美丰满一区二区免费视频| 亚洲人快播电影网| 大桥未久av一区二区三区中文| 日韩精品一区二区在线| 亚洲图片自拍偷拍| 99久久综合99久久综合网站| 欧美成人bangbros| 日韩中文字幕91| 在线视频一区二区三| 国产精品看片你懂得| 精品无码三级在线观看视频| 欧美日韩免费高清一区色橹橹 | 欧美一级一区二区| 亚洲自拍欧美精品| 色偷偷久久人人79超碰人人澡| 中文字幕乱码一区二区免费| 国产综合色在线| 日韩美女视频在线| 免费精品视频在线| 欧美情侣在线播放| 亚洲一卡二卡三卡四卡五卡| av亚洲精华国产精华| 亚洲人精品午夜| 色综合天天做天天爱| 中文字幕色av一区二区三区| 99久久精品情趣|