打印
[CC2640]

CC2640使用snv保存信息

[复制链接]
1035|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
coshi|  楼主 | 2020-2-2 17:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
TI在协议栈中提供了两个标准函数用于写入和读取信息的函数,分别是:

uint8 osal_snv_write( osalSnvId_t id, osalSnvLen_t len, void *pBuf)

uint8 osal_snv_write( osalSnvId_t id, osalSnvLen_t len, void *pBuf)

两个函数的返回值皆为两种情况 SUCCESS 和 NV_OPER_FAILED

这两个宏定义在头文件 comdef.h 中定义

#define SUCCESS                   0x00 //!< SUCCESS

#define NV_OPER_FAILED            0x0A //!< NV Operation Failed

在头文件 bcomdef.h 中定义了用户可以使用的ID范围

// Customer NV Items - Range  0x80 - 0x8F - This must match the number of Bonding entries
#define BLE_NVID_CUST_START             0x80  //!< Start of the Customer's NV IDs
#define BLE_NVID_CUST_END               0x8F  //!< End of the Customer's NV IDs

直接操作读写就可以,例如:

  uint8_t Write_data[4] = {0x88,0x66,0x66,0x88};
  uint8_t Read_data[4];

  osal_snv_write(0x82,4,Write_data);
  osal_snv_read(0x82,4,Read_data);

打印 Read_data 的值:



其中,osal_snv_write和osal_snv_read的第二个参数的最大不能超过252,

使用时也无需初始化,协议栈已经初始化了,直接使用很方便。

那么存储结构体也是很方便的,例如:

typedef struct{
    uint8_t a[2];
    uint8_t b[4];
    uint8_t c[16];
    uint8_t d;
}data_t;
data_t Write_data = {
.a = {0x1,0x2},
.b = {0x3,0x4,0x5,0x6},
.c = {0x7,0x8,0x9,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x20,0x21,0x22},
.d = 0x23
};
data_t Read_data;

然后在主程序中写入再读出来:

      osal_snv_write(0x82,sizeof(Write_data),&Write_data);
      osal_snv_read(0x82,sizeof(Read_data),&Read_data);

结果正确!


使用特权

评论回复

相关帖子

沙发
aoyi| | 2020-3-1 12:28 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
板凳
zljiu| | 2020-3-1 12:28 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
iyoum| | 2020-3-1 22:31 | 只看该作者
CC2541与CC2640有什么实际区别?

使用特权

评论回复
5
aspoke| | 2020-3-1 22:31 | 只看该作者
snv保存配置信息吧  

使用特权

评论回复
6
232321122| | 2020-3-1 22:31 | 只看该作者
怎么实现历史log信息保存  

使用特权

评论回复
7
ghuca| | 2020-3-1 22:32 | 只看该作者
cc2640设计传感器模块上有哪些传感器

使用特权

评论回复
8
soodesyt| | 2020-3-1 22:32 | 只看该作者
CC2640 端口捕获怎么设置

使用特权

评论回复
9
mnynt121| | 2020-3-1 22:32 | 只看该作者
怎么设置cc2640的spi通信  

使用特权

评论回复
10
plsbackup| | 2020-3-1 22:32 | 只看该作者
如何CC2640修改广播的名字  

使用特权

评论回复
11
kmzuaz| | 2020-3-1 22:33 | 只看该作者
蓝牙5.0模块 CC2640R2F-Q1 发布了吗?

使用特权

评论回复
12
qiufengsd| | 2020-3-1 22:33 | 只看该作者
CC2640怎么开启串口bootloader

使用特权

评论回复
13
wengh2016| | 2020-3-1 22:33 | 只看该作者
CC2640蓝牙模块可以用来传输音频文件吗?

使用特权

评论回复
14
mnynt121| | 2020-3-1 22:33 | 只看该作者
CC2640定向广播需要怎么配置  

使用特权

评论回复
15
iyoum| | 2020-3-1 22:33 | 只看该作者
蓝牙4.0手机可以连接CC2640吗

使用特权

评论回复
16
soodesyt| | 2020-3-1 22:33 | 只看该作者
CC2640R2F跑私有协议栈的话应该选哪个协议栈

使用特权

评论回复
17
aspoke| | 2020-3-1 22:33 | 只看该作者
如何进行SVN数据迁移并保存版本

使用特权

评论回复
18
ghuca| | 2020-3-1 22:33 | 只看该作者
用jlink烧写入CC2640的?

使用特权

评论回复
19
232321122| | 2020-3-1 22:33 | 只看该作者
存在工程目录哪里   

使用特权

评论回复
20
wengh2016| | 2020-3-1 22:33 | 只看该作者
CC2640 使用BTool抓包怎么用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

3301

帖子

4

粉丝