楼主
blockAddr = 7; //数据块7
if (rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA, rfid.serNum) == MI_OK)//认证
{
//写数据
status = rfid.write(blockAddr, sectorNewKeyA);
Serial.print("set the new card password, and can modify the data of the Sector: ");
Serial.println(blockAddr/4,DEC);
//写数据
blockAddr = blockAddr - 3 ; //数据块4
status = rfid.write(blockAddr, writeDate);
if(status == MI_OK)
{
Serial.println("Write card OK!");
}
}
这里也不明白status = rfid.write(blockAddr, sectorNewKeyA);是写到 控制块 7吗,然后我改了unsigned char sectorNewKeyAAA = 的{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},为{0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}就不能读出来了,就是密码改了一下就不行了,这么改密码呢?
blockAddr = 7; //数据块7是控制块 7吗?
blockAddr = blockAddr - 3 ; //数据块4 为什么时为什么出现在这里?
楼主,我放到library文件夹中,还是报错啊
测试成功,感谢楼主,进一步研究如何和应用程序进行互动;
狂收集资料,多学学
status = MFRC522_Auth(PICC_AUTHENT1A, blockAddr, sectorNewKeyA, serNum); //认证
请问 认证的时候为啥密码用的sectorNewKeyA,数组里面为啥是 blockAddr/4,而 uchar sectorNewKeyA = {{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
}; 相当于 只有 3行数据,要是 blockAddr=63是不是 就没发认证密码了???或是认证的为第15行 但是十五行 密码是16个0???
我没理解为啥原密码 还有 新密码//原扇区A密码,16个扇区,每个扇区密码6Byte
unsigned char sectorKeyA = {
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};
//新扇区A密码,16个扇区,每个扇区密码6Byte
unsigned char sectorNewKeyA = {
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};
都是只有3行 数据 没有的 行 默认全是0 ,而且认证的时候 都是用 sectorNewKeyA, 要是这么除的话,我要读写 第62 块 ,认证的时候 62/4=15相当于 原密码 是一堆0???
Mark,我正在愁不会用呢,谢谢楼主了
我也觉得库的examples里面有笔误
>> RFID rfid(10,5); //D10--读卡器MOSI引脚
应该是片选SS吧
收下,谢大神
相当感谢!正需要!
SS -> D10
SCK -> D13
MISI -> D11
MISO -> D12
RST -> D5
问一下大神们,这些脚都是在哪里定义的啊?RFID rfid(10,5); 这里只有10和5,那11,12,13呢?
先顶,再看
学习了,谢谢分享
顶起来 。。。。。