930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 19299|回复: 0

蓝牙开发常见问题18:FDS查找记录时返回FDS_ERR_NOT_FOUND

[复制链接]

52

主题

354

帖子

6545

积分

版主

Rank: 7Rank: 7Rank: 7

积分
6545
发表于 2019-5-30 09:12:17 | 显示全部楼层 |阅读模式
问题:记录明明已经成功写入到Flash中,但是FDS查找记录时却返回FDS_ERR_NOT_FOUND
解答:FDS查找记录时,为了避免每次都是从头开始查找,查找函数每次找到匹配的记录后返回该记录的描述符并保存当前查找的进度,查找函数返回的Token记录了最新匹配的记录的位置,通过Token,在接下来的查找中就可以不必从头开始,直接从Token记录的位置开始即可。因此,当我们执行新的记录查找时(需要从头开始查找),应将Token清零,否则,查找函数不会从头开始,而是会从Token记录的位置开始查找,这样的话,如果我们需要查找的记录的位置处于Token记录的位置之前,就会出现记录虽然存在,但是查找函数却返回错误代码:FDS_ERR_NOT_FOUND。
  1. //清零Token,从头开始查找
  2. memset(&tok, 0x00, sizeof(fds_find_token_t));
复制代码




回复

使用道具 举报

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

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

GMT+8, 2024-11-22 04:16 , Processed in 0.325891 second(s), 21 queries .

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