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

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

?? rc500_m500a.h

?? 門禁_c 存儲過程 門禁_c 存儲過程
?? H
?? 第 1 頁 / 共 2 頁
字號:
                     
// _____________________________________________________________________________
//
//  FUNCTION: PcdReadE2
//        IN: startaddr     2 bytes of starting address of the E2PROM 
//            length        number of byte of data to be read
//       OUT: *_data        buffer for the read bytes 
//    RETURN: 
//   COMMENT: This functions reads out data stored in the MF RC500's EERPOM   
//	      beginning ataddress startaddr. The number of bytes to be read are  
//	      given by  the variablelength and the read out data are stored in  
//            the provided data buffer.
//
char PcdReadE2(unsigned short startaddr,  
               unsigned char length,
               unsigned char idata * _data);




// _____________________________________________________________________________
//
//  FUNCTION: M500PiccRequest
//        IN: rq_code  can take the following values
//                     ALL   Request Code 52hex is sent out to get also a 
//                           response from cards in halt state.
//                     IDLE  Request Code 26hex is sent out to get a response 
//                           only from cards that are not in halt state.
//                     Note: Future cards will work also with other request 
//                           codes.
//       OUT: atq      16 bit ATQ (answer to request). 
//                     atq[0] .. LSByte
//                     atq[1] .. MSByte
//    RETURN: 
//   COMMENT: This function accesses the reader module and activates sending the
//            REQ code to the MIFARE card. After sending the command to the card 
//            the function waits for the card's answer.
//
//            Please note, that the actual work is done by the function
//            M500PiccCommonRequest, because of the interface behaviour between
//            Mifare and ISO 14443
//
//            The Card replies the ATQ.
//
//            ATQ:
//
//                    +----+----+----+----+----+----+----+----+
//            LSByte  | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 |
//                    +----+----+----+----+----+----+----+----+
//                    |         |    |                        |
//                    | UID size| RFU|   bit-frame anticoll   |
//                    |         |    |                        |
//                    | 00..std |    |  (if any bit set .. Y, |
//                    | 01..dbl |    |             else .. N) |
//                    | 10..tpl |    |                        |
//
//
//
//                    +----+----+----+----+----+----+----+----+
//            MSByte  | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 |
//                    +----+----+----+----+----+----+----+----+
//                    |                                       |
//                    |                 RFU                   |
//                    |                                       |
//
char M500PiccRequest(unsigned char req_code, 
                       unsigned char *atq);
// _____________________________________________________________________________
//
//  FUNCTION: M500PiccCommonRequest
//        IN: rq_code  can take the following values
//                     ALL   Request Code 52hex is sent out to get also a 
//                           response from cards in halt state.
//                     IDLE  Request Code 26hex is sent out to get a response 
//                           only from cards that are not in halt state.
//                     Note: Future cards will work also with other request 
//                           codes.
//       OUT: atq      16 bit ATQ (answer to request). 
//                     atq[0] .. LSByte
//                     atq[1] .. MSByte
//    RETURN: 
//   COMMENT: Please note, that this function does the actual work which is 
//            described in function M500PiccRequest.
//
char M500PiccCommonRequest(unsigned char req_code, 
                             unsigned char *atq);  
// _____________________________________________________________________________
//
//  FUNCTION: M500PiccAnticoll
//        IN: bcnt       Number of snr-bits that are known (default value is 0)
//            *snr       4 bytes serial number (number of bits, which
//                       are known and indicated by "bcnt"
//       OUT: *snr       4 bytes serial number, determined by the anticollision
//                       sequence
//    RETURN: 
//   COMMENT: The actual anticollision loop is done by the function
//            "M500PiccCascAnticoll". Which is called with select_code 0x93.
//
char M500PiccAnticoll (unsigned char bcnt,
                         unsigned char *snr);

// _____________________________________________________________________________
//
//  FUNCTION: M500PiccCascAnticoll
//        IN: select_code    0x93  standard select code
//                           0x95  cascaded level 1
//                           0x97  cascaded level 2
//            bcnt       Number of snr-bits that are known (default value is 0)
//            *snr       4 bytes serial number (number of bits, which
//                       are known and indicated by "bcnt"
//       OUT: *snr       4 bytes serial number, determined by the anticollision
//                       sequence
//    RETURN: 
//   COMMENT: Corresponding to the specification in ISO 14443, this function
//            is able to handle extended serial numbers. Therefore more than
//            one select_code is possible. The function transmitts a 
//            select code and all ready tags are responding. The highest
//            serial number within all responding tags will be returned by 
//            this function.
//                     
char M500PiccCascAnticoll (unsigned char select_code,
                             unsigned char bcnt,
                             unsigned char *snr);   
 
// _____________________________________________________________________________
//
//  FUNCTION: M500PcdLoadKeyE2
//        IN: key_type      PICC_AUTHENT1A or PICC_AUTHENT1B 
//            sector        key sector number, on which the key should be stored
//                          values from 0 to 15 are valid
//            uncoded_keys  6 bytes key 
//       OUT: -
//    RETURN: 
//   COMMENT: This function stores the keys in the reader internal E2PROM.
//            These keys are available for the function M500PiccAuthE2.
//                     
char M500PcdLoadKeyE2(unsigned char key_type,
                      unsigned char sector,
                      unsigned char *uncoded_keys); 

// _____________________________________________________________________________
//
//  FUNCTION: M500HostCodeKey
//        IN: uncoded   6 bytes master key for card authentication
//       OUT: coded     12 bytes master key for card authentication
//    RETURN: 
//   COMMENT: In order to authenticate a memory sector of a card, a 6 
//            bytes master key is necessary. This master key has to be passed
//            to the reader modul coded. The conversion between uncoded and 
//         	  coded keys is made by this function.
//                     
char M500HostCodeKey(unsigned char *uncoded, 
                         unsigned char *coded); 


// _____________________________________________________________________________
//
//  FUNCTION: M500PiccRead
//        IN: addr    addresses -  the block on the card from which data shall 
//                    be read. For MIFARE standard cards, addr can take a value
//                    from 0 to 63 (255 for Mifare Pro), for other card types 
//                    please refer to the according product description.
//       OUT: data    is a pointer to the 16 byte data block read from the card.
//       OUT: 
//    RETURN: 
//   COMMENT: This function reads a 16 byte block from the specified card's block 
//            address addr. After sending the command to the card the function 
//            waits for the card's answer.
//                        
char M500PiccRead(unsigned char addr,  
                  unsigned char *_data);
                 
// _____________________________________________________________________________
//
//  FUNCTION: M500PiccWrite
//        IN: addr     address -  the block on the card from which data shall 
//                     be read. For MIFARE standard cards, addr can take a 
//                     value from 0 to 63 (255 for Mifare Pro), for other card 
//                     types please refer to the according product description.
//            data     is a pointer to the 16 byte data block that shall be 
//                     written to the card.
//       OUT: -
//    RETURN: 
//   COMMENT: This function writes a 16 byte block to the specified card's block 
//            address addr. After sending the command to the card the function
//            waits for the card's answer.
//                  
char M500PiccWrite(unsigned char addr,
                       unsigned char *_data);

// _____________________________________________________________________________
//
//  FUNCTION: M500PiccHalt
//        IN: -
//       OUT: -
//    RETURN: -
//   COMMENT: This function sets the MIFARE card into the halt state. After 
//            sending the command to the card the function waits for a cards 
//            response. As an exception, in this protocol step no ACK is sent by
//            the card, but only a NACK in case of an error. Thus, the function 
//            is successful, if a time out occurs.
//                  
char M500PiccHalt(void);
// _____________________________________________________________________________
//
// FUNCTION: M500PiccValue
//	 IN: dd_mode	INCREMENT, DECREMENT or RESTORE
//	     addr	Block address for the command to be perform 0-63
//	     *value	4 bytes value, LSB first
//	     trans_addr Destination block address to be tranfer	
//	OUT: -
//  COMMENT:
// This function performs the INCREMENT, DECREMENT and RESTORE command. Precondition 
// for success is, that the data block is formatted as value block. 
//
// For INCREMENT and DECREMENT, the command doesn't write back the value to the memory 
// location directly, but loads the transfer buffer with the increased value,
// which could be transferred to any authenticated block by the TRANFER command.
//
// The RESTORE command loads the transfer buffer with the value stored at datablock 
// address, while the 
// given value is only a dummy value, which only have to be in valid range. 
// With a subsquent TRANSFER command a backup management for Value Blocks is 
// established.
//
// After sending the command to the card the function waits for the 
// card's answer. In case of an error <em>Mf500PiccValue()</em>
// generates a return code according to the MF RC's error flags, otherwise 
// the value is sent to the card and then it waits for a NACK. As an exception 
// in this protocol step 
// only a NACK is sent by the card in case of an error. Thus, the function 
// is successful, if a time out occurs. 
//
// After the calculation is done,  a TRANSFER is automatically
// performed to the block address trans_addr. After sending the command to
// the card the function waits for the card's answer 
// and generates a return code according to the MF RC's error flags. 
// A TRAN command is only possible directly after a RESTORE, INCREMENT or 
// DECREMENT command.
//
// The value inside a Value Block is four bytes wide and stored two times
// in normal and one time in bit-inverted manner for data security issues. 
// Additionally the initial address of the Value Block is stored two times 
// normal and two times bit-inverted. In case of a backup of a Value Block, 
// this addres contains the original address of the Value Block.
// Note: Only positive numbers are alowed for the parameter <em>value</em>.
//
char M500PiccValue(unsigned char dd_mode, 
                   unsigned char addr, 
                   unsigned char *value,
                   unsigned char trans_addr);
void idle_request(void);
#ifdef __cplusplus
}
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道久久a久久精品综合| 国产欧美va欧美不卡在线| 2023国产精品自拍| 亚洲综合成人网| 成人高清免费观看| 欧美一级日韩免费不卡| 国产精品不卡视频| 国产一区二区三区精品欧美日韩一区二区三区| 色综合天天综合网天天狠天天| 欧美一区二区不卡视频| 亚洲一卡二卡三卡四卡五卡| 国产精品伊人色| 日韩午夜电影av| 亚洲www啪成人一区二区麻豆| jizz一区二区| 国产精品网友自拍| 国产精品91一区二区| 日韩一区二区三区高清免费看看| 一区二区三区久久久| 99精品视频中文字幕| 国产精品视频在线看| 国产在线观看一区二区| 日韩一区二区三区高清免费看看| 亚欧色一区w666天堂| 欧美亚洲高清一区| 亚洲影视资源网| 在线观看国产精品网站| 樱花影视一区二区| 91一区二区三区在线观看| 国产精品理论片在线观看| 成人免费视频一区| 中文字幕在线一区| 色综合久久久久久久久久久| 国产精品五月天| 97精品国产露脸对白| 中文字幕日韩一区| 在线观看国产91| 日韩av一区二区三区四区| 日韩欧美久久久| 国产呦萝稀缺另类资源| 国产日韩精品一区| 波多野结衣精品在线| 亚洲丝袜精品丝袜在线| 日本乱码高清不卡字幕| 亚洲电影中文字幕在线观看| 欧美日本韩国一区二区三区视频| 七七婷婷婷婷精品国产| 日韩三级视频在线看| 黑人精品欧美一区二区蜜桃| 久久精品亚洲乱码伦伦中文| 成人黄色在线视频| 亚洲日本青草视频在线怡红院| 色哟哟欧美精品| 日韩av网站免费在线| 精品成人a区在线观看| 国产精品一区二区你懂的| 亚洲三级理论片| 日韩一区二区在线免费观看| 久久国产精品99久久久久久老狼| 国产三级久久久| 欧美色图一区二区三区| 久久国产精品一区二区| 成人免费小视频| 日韩一区二区三区四区五区六区| 国产精品一区二区在线观看不卡| 亚洲激情欧美激情| 日韩精品在线网站| 91视视频在线观看入口直接观看www| 亚洲韩国一区二区三区| 久久网这里都是精品| 在线免费观看日韩欧美| 久久99久久99小草精品免视看| 中文字幕一区二区三区在线观看 | 国产一区三区三区| 中文字幕国产一区| 91精品国产福利在线观看 | 日韩福利电影在线观看| 久久久久国产精品麻豆ai换脸 | 亚洲国产中文字幕| 国产精品欧美综合在线| 在线观看91av| 色偷偷88欧美精品久久久 | 男女性色大片免费观看一区二区| 亚洲国产精品av| 精品免费日韩av| 91麻豆精品91久久久久久清纯| 97se狠狠狠综合亚洲狠狠| 极品瑜伽女神91| 丝袜诱惑制服诱惑色一区在线观看 | 欧美大片一区二区| 色婷婷亚洲精品| 成人免费精品视频| 国产一区二区三区免费观看| 五月天网站亚洲| 亚洲国产综合在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 精品国产1区2区3区| 在线成人av影院| 欧美日韩久久一区| 在线视频亚洲一区| www.日韩大片| av成人老司机| 97国产精品videossex| 国产精品一色哟哟哟| 国产一区视频导航| 国产精品自产自拍| 成人综合在线观看| 国产白丝精品91爽爽久久| 久久国产欧美日韩精品| 看国产成人h片视频| 日本欧美在线观看| 日韩av电影一区| 日韩1区2区3区| 日本伊人精品一区二区三区观看方式 | 国产黄人亚洲片| 国产一区二区免费在线| 精品一区二区三区日韩| 欧美中文字幕一区二区三区| 91捆绑美女网站| 91高清视频免费看| 91久久精品一区二区二区| 91黄色免费看| 7777精品伊人久久久大香线蕉的 | 9191成人精品久久| 日韩欧美高清dvd碟片| 精品国产凹凸成av人网站| www国产成人| 国产精品视频一二三| 一区在线观看视频| 亚洲一二三级电影| 欧美aⅴ一区二区三区视频| 久草精品在线观看| 成人午夜看片网址| 91丝袜美腿高跟国产极品老师| 色94色欧美sute亚洲线路一久 | 美女一区二区三区在线观看| 麻豆精品视频在线观看视频| 国产伦精一区二区三区| www.爱久久.com| 欧美日韩在线不卡| 久久九九国产精品| 亚洲综合精品久久| 精久久久久久久久久久| 成人国产视频在线观看| 欧美系列日韩一区| 久久精品亚洲乱码伦伦中文| 亚洲另类中文字| 精品亚洲porn| 日本道色综合久久| 精品入口麻豆88视频| 国产精品成人一区二区艾草| 丝袜a∨在线一区二区三区不卡| 国产老女人精品毛片久久| 91日韩一区二区三区| 日韩网站在线看片你懂的| 日韩一区中文字幕| 免费成人结看片| 99精品久久99久久久久| 日韩欧美国产午夜精品| 亚洲狼人国产精品| 国产精一区二区三区| 欧美日韩国产色站一区二区三区| 久久久久国产精品厨房| 天堂蜜桃91精品| 91免费国产在线| 久久综合九色综合欧美亚洲| 亚洲一二三区不卡| 91影院在线观看| 久久精品一区二区| 免费高清成人在线| 欧美色综合影院| 成人免费小视频| 成人在线视频首页| 2020国产精品自拍| 日本不卡不码高清免费观看| 色乱码一区二区三区88| 国产欧美一区二区三区在线老狼| 日韩精品1区2区3区| 在线日韩国产精品| 亚洲天堂网中文字| 丁香啪啪综合成人亚洲小说| 日韩欧美国产综合一区| 婷婷国产v国产偷v亚洲高清| 日本电影欧美片| 亚洲免费电影在线| 成人av影视在线观看| 国产亚洲一区字幕| 国产成人av一区二区三区在线观看| 91精品国产欧美日韩| 日韩高清在线电影| 欧美一卡在线观看| 蜜臀av一级做a爰片久久| 在线成人小视频| 日韩高清一级片| 日韩一区二区三区在线观看| 午夜精品一区二区三区免费视频 | 久久精品人人做人人爽人人| 国产在线精品一区二区不卡了| 欧美成人欧美edvon| 国内成人自拍视频|