找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 58307|回复: 70
打印 上一主题 下一主题
收起左侧

通过Arduino UNO+RC522 修改UID卡号 复制门禁M1卡

  [复制链接]
跳转到指定楼层
楼主
1.利用手机NFC读取原卡ID号   卡号为 31 0D 6B 45




2. 有请 Arduino UNO :




RC522模块                         UNO
VCC  <----------------------->3.3V

RST  <----------------------->9

GND  <----------------------->GND

IRQ  <----------------------->不接

MISO <----------------------->12

MOSI <----------------------->11

SDA  <----------------------->10

SCK  <----------------------->13



3.代码---------------------------------------------------------------------------------------------------------------


  1. /*
  2. * 不同型号arduino的 引脚定义:(vcc接3.3V,  5V必烧!!! 5V必烧!!! 5V必烧!!!)
  3. * -----------------------------------------------------------------------------------------
  4. *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
  5. *             Reader/PCD   Uno           Mega      Nano v3    Leonardo/Micro   Pro Micro
  6. * Signal      Pin          Pin           Pin       Pin        Pin              Pin
  7. * -----------------------------------------------------------------------------------------
  8. * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
  9. * SPI SS      SDA(SS)      10            53        D10        10               10
  10. * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
  11. * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
  12. * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
  13. */

  14. #include <SPI.h>
  15. #include <MFRC522.h>

  16. #define RST_PIN   9     // Configurable, see typical pin layout above
  17. #define SS_PIN    10    // Configurable, see typical pin layout above

  18. MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance

  19. /*在这里修改卡号,读取的卡号是16进制的,每2位前加0x   */
  20. #define NEW_UID {0x31, 0x0D, 0x6B, 0x45}

  21. MFRC522::MIFARE_Key key;

  22. void setup() {
  23.   Serial.begin(9600);  // Initialize serial communications with the PC
  24.   while (!Serial);     // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
  25.   SPI.begin();         // Init SPI bus
  26.   mfrc522.PCD_Init();  // Init MFRC522 card
  27.   Serial.println(F("Warning: this example overwrites the UID of your UID changeable card, use with care!"));

  28.   // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory.
  29.   for (byte i = 0; i < 6; i++) {
  30.     key.keyByte[i] = 0xFF;
  31.   }
  32. }

  33. // Setting the UID can be as simple as this:
  34. void loop() {

  35.   // Look for new cards, and select one if present
  36.   if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
  37.     delay(50);
  38.     return;
  39.   }

  40.   // Now a card is selected. The UID and SAK is in mfrc522.uid.

  41.   // Dump UID
  42.   Serial.print(F("Card UID:"));
  43.   for (byte i = 0; i < mfrc522.uid.size; i++) {
  44.     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
  45.     Serial.print(mfrc522.uid.uidByte[i], HEX);
  46.   }
  47.   Serial.println();

  48.   // Set new UID
  49.   byte newUid[] = NEW_UID;
  50.   if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) {
  51.     Serial.println(F("Wrote new UID to card."));
  52.   }

  53.   // Halt PICC and re-select it so DumpToSerial doesn't get confused
  54.   mfrc522.PICC_HaltA();
  55.   if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
  56.     return;
  57.   }

  58.   // Dump the new memory contents
  59.   Serial.println(F("New UID and contents:"));
  60.   mfrc522.PICC_DumpToSerial(&(mfrc522.uid));

  61.   delay(2000);
  62. }
复制代码


------------------------------------------------------------------------------------------------------------------


4.上传代码到UNO,然后刷一下UID卡

5.完工

下载:

MFRC522.zip (34.24 KB, 下载次数: 276)

ChangeUID.zip (1.4 KB, 下载次数: 238)

评分

参与人数 6黑币 +131 收起 理由
kuluner + 3 很给力!
QQwert + 5
yywudi + 3 共享资料的黑币奖励!
xljxlj + 15 很给力!
chouruyan + 5 很给力!
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏14 分享淘帖 顶3 踩
回复

使用道具 举报

沙发
ID:173827 发表于 2017-3-20 19:54 | 只看该作者
不错的资源顶一个,下来试试
回复

使用道具 举报

板凳
ID:62590 发表于 2017-3-20 21:17 来自手机 | 只看该作者
UID卡要用0扇区可修改的,某宝1.5元左右
回复

使用道具 举报

地板
ID:185197 发表于 2017-3-31 21:03 | 只看该作者
大神,这只是复制了UID,加密的卡能行不?
回复

使用道具 举报

5#
ID:62590 发表于 2017-4-1 09:41 | 只看该作者
yangsir_001 发表于 2017-3-31 21:03
大神,这只是复制了UID,加密的卡能行不?

加密扇区需要先读出解密的,不好搞,这有个读写扇区的程序,自己研究吧

接线同上

  1. #include <SPI.h>
  2. #include <MFRC522.h>

  3. #define RST_PIN         9           // Configurable, see typical pin layout above
  4. #define SS_PIN          10          // Configurable, see typical pin layout above

  5. MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.

  6. MFRC522::MIFARE_Key key;

  7. /**
  8. * Initialize.
  9. */
  10. void setup() {
  11.     Serial.begin(9600); // Initialize serial communications with the PC
  12.     while (!Serial);    // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
  13.     SPI.begin();        // Init SPI bus
  14.     mfrc522.PCD_Init(); // Init MFRC522 card

  15.     // Prepare the key (used both as key A and as key B)
  16.     // using FFFFFFFFFFFFh which is the default at chip delivery from the factory
  17.     for (byte i = 0; i < 6; i++) {
  18.         key.keyByte[i] = 0xFF;
  19.     }

  20.     Serial.println(F("Scan a MIFARE Classic PICC to demonstrate read and write."));
  21.     Serial.print(F("Using key (for A and B):"));
  22.     dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE);
  23.     Serial.println();
  24.    
  25.     Serial.println(F("BEWARE: Data will be written to the PICC, in sector #1"));
  26. }

  27. /**
  28. * Main loop.
  29. */
  30. void loop() {
  31.     // Look for new cards
  32.     if ( ! mfrc522.PICC_IsNewCardPresent())
  33.         return;

  34.     // Select one of the cards
  35.     if ( ! mfrc522.PICC_ReadCardSerial())
  36.         return;

  37.     // Show some details of the PICC (that is: the tag/card)
  38.     Serial.print(F("Card UID:"));
  39. dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  40.     Serial.println();
  41.     Serial.print(F("PICC type: "));
  42.     MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
  43.     Serial.println(mfrc522.PICC_GetTypeName(piccType));

  44.     // Check for compatibility
  45.     if (    piccType != MFRC522::PICC_TYPE_MIFARE_MINI
  46.         &&  piccType != MFRC522::PICC_TYPE_MIFARE_1K
  47.         &&  piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
  48.         Serial.println(F("This sample only works with MIFARE Classic cards."));
  49.         return;
  50.     }

  51.     // In this sample we use the second sector,
  52.     // that is: sector #1, covering block #4 up to and including block #7
  53.     byte sector         = 1;
  54.     byte blockAddr      = 4;
  55.     byte dataBlock[]    = {
  56.         0x01, 0x02, 0x03, 0x04, //  1,  2,   3,  4,
  57.         0x05, 0x06, 0x07, 0x08, //  5,  6,   7,  8,
  58.         0x08, 0x09, 0xff, 0x0b, //  9, 10, 255, 12,
  59.         0x0c, 0x0d, 0x0e, 0x0f  // 13, 14,  15, 16
  60.     };
  61.     byte trailerBlock   = 7;
  62.     MFRC522::StatusCode status;
  63.     byte buffer[18];
  64.     byte size = sizeof(buffer);

  65.     // Authenticate using key A
  66.     Serial.println(F("Authenticating using key A..."));
  67.     status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));
  68.     if (status != MFRC522::STATUS_OK) {
  69.         Serial.print(F("PCD_Authenticate() failed: "));
  70.         Serial.println(mfrc522.GetStatusCodeName(status));
  71.         return;
  72.     }

  73.     // Show the whole sector as it currently is
  74.     Serial.println(F("Current data in sector:"));
  75.     mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);
  76.     Serial.println();

  77.     // Read data from the block
  78.     Serial.print(F("Reading data from block ")); Serial.print(blockAddr);
  79.     Serial.println(F(" ..."));
  80.     status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size);
  81.     if (status != MFRC522::STATUS_OK) {
  82.         Serial.print(F("MIFARE_Read() failed: "));
  83.         Serial.println(mfrc522.GetStatusCodeName(status));
  84.     }
  85.     Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":"));
  86.     dump_byte_array(buffer, 16); Serial.println();
  87.     Serial.println();

  88.     // Authenticate using key B
  89.     Serial.println(F("Authenticating again using key B..."));
  90.     status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid));
  91.     if (status != MFRC522::STATUS_OK) {
  92.         Serial.print(F("PCD_Authenticate() failed: "));
  93.         Serial.println(mfrc522.GetStatusCodeName(status));
  94.         return;
  95.     }

  96.     // Write data to the block
  97.     Serial.print(F("Writing data into block ")); Serial.print(blockAddr);
  98.     Serial.println(F(" ..."));
  99.     dump_byte_array(dataBlock, 16); Serial.println();
  100.     status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(blockAddr, dataBlock, 16);
  101.     if (status != MFRC522::STATUS_OK) {
  102.         Serial.print(F("MIFARE_Write() failed: "));
  103.         Serial.println(mfrc522.GetStatusCodeName(status));
  104.     }
  105.     Serial.println();

  106.     // Read data from the block (again, should now be what we have written)
  107.     Serial.print(F("Reading data from block ")); Serial.print(blockAddr);
  108.     Serial.println(F(" ..."));
  109.     status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size);
  110.     if (status != MFRC522::STATUS_OK) {
  111.         Serial.print(F("MIFARE_Read() failed: "));
  112.         Serial.println(mfrc522.GetStatusCodeName(status));
  113.     }
  114.     Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":"));
  115.     dump_byte_array(buffer, 16); Serial.println();
  116.         
  117.     // Check that data in block is what we have written
  118.     // by counting the number of bytes that are equal
  119.     Serial.println(F("Checking result..."));
  120.     byte count = 0;
  121.     for (byte i = 0; i < 16; i++) {
  122.         // Compare buffer (= what we've read) with dataBlock (= what we've written)
  123.         if (buffer[i] == dataBlock[i])
  124.             count++;
  125.     }
  126.     Serial.print(F("Number of bytes that match = ")); Serial.println(count);
  127.     if (count == 16) {
  128.         Serial.println(F("Success :-)"));
  129.     } else {
  130.         Serial.println(F("Failure, no match :-("));
  131.         Serial.println(F("  perhaps the write didn't work properly..."));
  132.     }
  133.     Serial.println();
  134.         
  135.     // Dump the sector data
  136.     Serial.println(F("Current data in sector:"));
  137.     mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);
  138.     Serial.println();

  139.     // Halt PICC
  140.     mfrc522.PICC_HaltA();
  141.     // Stop encryption on PCD
  142.     mfrc522.PCD_StopCrypto1();
  143. }

  144. /**
  145. * Helper routine to dump a byte array as hex values to Serial.
  146. */
  147. void dump_byte_array(byte *buffer, byte bufferSize) {
  148.     for (byte i = 0; i < bufferSize; i++) {
  149.         Serial.print(buffer[i] < 0x10 ? " 0" : " ");
  150.         Serial.print(buffer[i], HEX);
  151.     }
  152. }
复制代码

评分

参与人数 1黑币 +100 收起 理由
admin + 100 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:193930 发表于 2017-4-26 18:28 | 只看该作者
编译时出错
回复

使用道具 举报

7#
ID:202098 发表于 2017-5-18 10:52 | 只看该作者
不错的资源顶一个
回复

使用道具 举报

8#
ID:204135 发表于 2017-5-24 01:01 | 只看该作者
进来学习,谢谢
回复

使用道具 举报

9#
ID:204745 发表于 2017-5-25 16:02 | 只看该作者
h好好学习了e
回复

使用道具 举报

10#
ID:204912 发表于 2017-5-25 22:05 | 只看该作者
编译时出错了
回复

使用道具 举报

11#
ID:208140 发表于 2017-6-5 19:07 | 只看该作者
好东西,不错的
回复

使用道具 举报

12#
ID:208516 发表于 2017-6-6 20:47 | 只看该作者
很棒耶,還沒試過  很期待
回复

使用道具 举报

13#
ID:185197 发表于 2017-6-16 13:04 | 只看该作者
编译通过,测试如下:
Card UID: B4 F7 6C DB
Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable one?
Error name: Timeout in communication.
Activating the UID backdoor failed.
New UID and contents:
Card UID: B4 F7 6C DB
Card SAK: 08
PICC type: MIFARE 1KB
Sector Block   0  1  2  3   4  5  6  7   8  9 10 11  12 13 14 15  AccessBits
  15     63   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         62   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         61   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         60   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  14     59   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         58   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         57   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         56   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  13     55   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         54   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         53   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         52   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  12     51   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         50   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         49   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         48   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  10     43   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         42   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         41   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         40   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   9     39   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         38   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         37   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         36   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   8     35   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         34   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         33   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         32   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   7     31   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         30   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         29   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         28   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   6     27   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         26   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         25   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         24   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   5     23   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         22   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         21   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         20   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   4     19   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         18   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         17   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         16   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   3     15   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         14   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         13   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         12   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   2     11   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         10   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          9   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          8   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   1      7   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
          6   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          5   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          4   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   0      3   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
          2   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          1   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          0   B4 F7 6C DB  F4 08 04 00  62 63 64 65  66 67 68 69  [ 0 0 0 ]
请问楼主,是不是我的卡是不可擦写的?
回复

使用道具 举报

14#
ID:216924 发表于 2017-7-3 22:12 | 只看该作者
want download
回复

使用道具 举报

15#
ID:187533 发表于 2017-7-4 05:19 | 只看该作者
楼主太棒了,我家的物业太差劲,门禁卡尽然不好用,打不开门,我可以试试能不能学会楼主教的方法把物业KO了。
回复

使用道具 举报

16#
ID:221197 发表于 2017-7-20 21:31 | 只看该作者
不错的资源顶一个,下来试试
回复

使用道具 举报

17#
ID:152369 发表于 2017-7-31 13:31 | 只看该作者
大神,
有实物连线图没
回复

使用道具 举报

18#
ID:225614 发表于 2017-8-25 08:41 | 只看该作者
谢谢,好用
回复

使用道具 举报

19#
ID:229774 发表于 2017-8-29 00:47 | 只看该作者
正要学习,谢谢了。
回复

使用道具 举报

20#
ID:229732 发表于 2017-9-12 11:11 | 只看该作者
学习中……
回复

使用道具 举报

21#
ID:237269 发表于 2017-10-4 19:49 | 只看该作者
直接可以下载吧 在ide上的库
回复

使用道具 举报

22#
ID:237584 发表于 2017-10-7 10:17 | 只看该作者
  怎么修改啊了。
回复

使用道具 举报

23#
ID:137231 发表于 2017-10-7 23:32 | 只看该作者
正要学习,谢谢了。
回复

使用道具 举报

24#
ID:248934 发表于 2017-11-13 15:14 | 只看该作者

学习中,谢谢了。
回复

使用道具 举报

25#
ID:152369 发表于 2017-11-18 19:08 | 只看该作者
怎么再把卡号显示在LED屏上啊??
回复

使用道具 举报

26#
ID:252134 发表于 2017-11-22 10:55 | 只看该作者
显示到LED屏要用LED库,调用相应的函数把串口读取的数据打印出来即可
回复

使用道具 举报

27#
ID:252131 发表于 2017-11-22 15:25 | 只看该作者
yangsir_001 发表于 2017-6-16 13:04
**** 作者被禁止或删除 内容自动屏蔽 ****

对。MF1卡第0扇区第0块好像是产商写死了,里面包含的是卡号、检查字节和制造厂商的数据,可能真的要买1.5的空白卡才能更改
回复

使用道具 举报

28#
ID:254019 发表于 2017-11-27 09:07 | 只看该作者
学习中,谢谢了。
回复

使用道具 举报

29#
ID:236106 发表于 2017-11-30 19:49 | 只看该作者
无以为报,直接点赞666
回复

使用道具 举报

30#
ID:242562 发表于 2017-12-17 23:19 来自手机 | 只看该作者
已下载,待测试!
回复

使用道具 举报

31#
ID:242562 发表于 2017-12-17 23:19 来自手机 | 只看该作者
已下载,待测试!有空再搞
回复

使用道具 举报

32#
ID:106211 发表于 2017-12-18 00:07 | 只看该作者
好资料,自已学习还须加把劲
回复

使用道具 举报

33#
ID:262988 发表于 2017-12-18 10:10 | 只看该作者
不错的东西,回头试试
回复

使用道具 举报

34#
ID:143443 发表于 2018-3-30 17:03 | 只看该作者
黑币,您当前的黑币不足,请通过以下途径获取黑币:
回复

使用道具 举报

35#
ID:296286 发表于 2018-4-2 00:27 | 只看该作者
呃 没有看懂 是不是太蠢了
回复

使用道具 举报

36#
ID:100167 发表于 2018-4-4 16:08 | 只看该作者
了解下,弄这个复制问题已弄了很久了
回复

使用道具 举报

37#
ID:281421 发表于 2018-4-13 20:06 | 只看该作者
66666666666666666666666
回复

使用道具 举报

38#
ID:330537 发表于 2018-5-15 16:18 | 只看该作者
正要找这个
回复

使用道具 举报

39#
ID:265120 发表于 2018-5-25 00:58 | 只看该作者
用白卡还是出现" Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable one?"
回复

使用道具 举报

40#
ID:127550 发表于 2018-7-27 12:50 | 只看该作者
不错的资源顶一个,下来试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表