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。