TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2340R5: 如何保存一个数据,在oadResetDevice之后读出来?

Part Number:CC2340R5Other Parts Discussed in Thread:SYSCONFIG

现在有一个需求,保存一串字符,在oadResetDevice之后重新读取这一串字符,要如何才能实现?

Galaxy Yue:

可以使用这个去实现

简单 NV (SNV) 区域:GAP Bond Manager 用于非易失性内存存储,也可供应用程序使用。请参阅 非易失性存储架构以配置 SNV。

,

Xuefeng:

根据OSAL SNV Example 添加了写和读的代码,但是写入的内容在重启后没有正确读取到。

,

Galaxy Yue:

跑例程是可以正常读写的吗?

,

Xuefeng:

SDK中没有SNV的示例工程,我只是参考了网页上的代码片段。

,

Galaxy Yue:

https://dev.ti.com/tirex/explore/content/simplelink_lowpower_f3_sdk_7_20_01_10/docs/ble5stack/ble_user_guide/html/ble-stack-common/flash_memory-cc23xx.html?highlight=snv#lst-snv-api-usage

你看看这个

,

Xuefeng:

就是参照这个写的

,

Galaxy Yue:

sysconfig也配置了吗

,

Xuefeng:

我的syscfg配置如下

,

Galaxy Yue:

首先,可以通过读操作,看是否成功写入

不确定你说的不正确读取 是读取错误 错位还是什么

其次,需要注意SNV的大小

另外找了2个link可以参考一下

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1268916/cc2340r5-saving-16-byte-data-in-ram-that-survives-a-reboot

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1028437/cc2640r2f-access-nv-ram-to-save-data-log

,

Xuefeng:

Galaxy Yue 说:

首先,可以通过读操作,看是否成功写入

不确定你说的不正确读取 是读取错误 错位还是什么

写入函数的返回值是成功,但是读取的时候拿到的数据是错的,不是数据错位,而是写入的一个字符串没有读出一个正确的字符。

,

Galaxy Yue:

数据格式问题?

你把写入的和读取的分别截个屏看一下

,

Xuefeng:

之前传错了参数,现在修改参数后一直返回失败了。

,

Galaxy Yue:

麻烦把代码或者更多信息放上来分析一下,信息有限,难以定位原因,谢谢

,

Xuefeng:

直接写了这样一段测试代码,返回的都是失败。

,

Galaxy Yue:

uartWritrData(temp,sizeod(temp)+1);

改成+1试一下

,

Xuefeng:

write的size+1返回值还是失败

,

Xuefeng:

SNV保存数据的长度限制是多少,在下面的连接中说是最长4Bytes,但是在SDK的说明文档中没有看到相关的内容。e2e.ti.com/…/cc2642r-osal_snv_read-and-osal_snv_write-not-working

,

Galaxy Yue:

1.

2.

您正在使用的 SNV ID 会在第一次写入时初始化。第一次读取不会成功,因为 SNV 不包含您要查找的 ID。

赞(0)
未经允许不得转载:TI中文支持网 » CC2340R5: 如何保存一个数据,在oadResetDevice之后读出来?
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1