微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 请问CC2541协议栈SNV供给用户使用的ID,每个ID可以存储多少byte?

请问CC2541协议栈SNV供给用户使用的ID,每个ID可以存储多少byte?

时间:10-02 整理:3721RD 点击:
看了手册,给我们使用的ID:0x80-0xFE。可是我对FLASH这块还不太明白。1 page是2048 bytes,协议栈osal_snv.c上面看到有2 pages。 那么OSAL API.pdf里面第11章节里面ID的范围是0x00-0xFF,给我们应用的是0x80-0xFE。那么算下来,每个ID可以保存16 bytes。 1.这里的ID是uint8的类型,可是第10章节讲解NV的时候对应的ID是uint16,为什么会有这个差异? 2.想确认一下关于 0x80-0xFE,每个ID到底可以存储多少数据? 3.我看到有的人使用osal_snv_write这个函数可以存储到252个uint8类型,但是存储253个uin8类型就不行了,他是使用这个函数的时候就是写的0x80这个ID。难道osal_snv_write把多的数据写到后面的ID里面了? 希望大神可以给我解惑,揭开面纱。

ItemID 可以理解成一个是一个名字,表示你存储的数据的编号。

长度是unint16传进去的,大小限制应该是SNV可供使用的大小。

1.ID是18位的

2. ID仅仅表示序号,能写多少内容,SNV不做限定;但你初始化时,会设置SNV占用的总空间。

3. 参考http://blog.csdn.net/happytomyoung/article/details/48895217

ID 仅仅表示序号,那我可以这样理解么?

我把 10个字节的数据存到 0x80 这个 ID 中,然后再次存储的时候把 3 个字节的数据存储到 0x81 这个 ID 中,然后再次把 10 个字节存储到 0x82 这个 ID 中,

我这样理解对不对?所以这个 ID 只是数据的编号对么?

你好,测试时只能0x80能写入252个字节,读取正常,253字节读取有错误,其他的ID(测试0x81,0xfe)写入1个字节,都不能正常读取,请问是什么问题?

你的SNV不能读取的问题解决了么?是什么问题呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top