首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取数据ST25DV

读取数据ST25DV
EN

Stack Overflow用户
提问于 2019-10-08 18:18:18
回答 1查看 472关注 0票数 0

我用一个STM32L031K6和一个ST25DV64K近场通信芯片做了我自己的电路板。我正在使用android应用程序"NFC工具“。我可以用应用程序读取NFC芯片的UID,因此天线是正确调谐的。我也可以通过I2C总线用微控制器读取UID。当我用单片机向NFC芯片的eeprom存储器中写入数据时,NFC应用程序无法读取数据。它说标签是空的。我想我缺少一个配置,但我找不到是哪一个。

下面是我的代码,执行一次:

代码语言:javascript
复制
uint8_t ToWrite = 15;

uint8_t Password[17] = {0}; //Default password is"00000000"  
Password[8] = 0x09; //Validation Code

// ST25DV_Address_E21 0x57 << 1; // Device select code= 0b1010111 ; E2 = 1   
Password_Address = 0x900
HAL_I2C_Mem_Write(&hi2c1, ST25DV_Address_E21, Password_Address, 2, Password, 17, 0xFFF);

HAL_Delay(200);
//Read the UID
HAL_I2C_Mem_Read(&hi2c1, ST25DV_Address_E21, 0x18, 2, UID_Read, 8, 0xFFF); // This line works, UID displayed in the app and in the debugger are the same


HAL_Delay(500);
//Write some data in the eepprom memory (first address: 0x00)
for(int i = 0; i< 250; i++)
{
 ToWrite++;
 HAL_I2C_Mem_Write(&hi2c1,ST25DV_Address_E21, i, 2, &ToWrite, 1, 0xFF);
}
EN

回答 1

Stack Overflow用户

发布于 2020-02-06 04:32:28

当您将数据从地址/块0写入EEPROM时,您只是用全零覆盖了功能容器的值。正确的做法是初始化标记,然后从块4开始写入数据。

CC值如下所示:

代码语言:javascript
复制
0xE1,     /* (block 0) */
0x40,     /* (block 1) */
0x40,     /* (block 2) */
0x05      /* (block 3) */

然后是取决于NDEF消息类型的其他密钥报头值。以下是我为NDEF文本所做的说明:

代码语言:javascript
复制
  0x03,     /*(block 4) NDEF message type (block 4) */
  0x0D,     /*(block 5) NDEF message length (blobk 5) eg, 13 byte message starting from here */
  0xD1,     /*(block 6) NDEF Record header: MB = 1, ME = 1, CF = 0, SR = 1, IL = 0, TNF = 001 > 0xD1 */
  0x01,     /*(block 7) Type length */
  0x09,     /*(block 8) Payload length = 9 (from language code) */
  0x54,     /*(block 9) Msg Type = Text */
  0x02,     /*(block 10) Language code size */
  0x65,     /*(block 11) Language = English, 'e', */
  0x6E,     /*(block 12) 'n', */
  'A',      /*(block 13+)Payload data */
  'B', 
  'C', 
  'D', 
  'E', 
  'F'

理解NDEF有效负载格式的一个很好的阅读资源是here

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58284412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档