当前位置:   article > 正文

ZigBee协议中FLASH模拟EEPROM实验_cc2530有内置eeprom吗

cc2530有内置eeprom吗

CC2530内部没有eeprom,想要掉电不丢失数据怎么办呢,下面就教大家怎么用FLASH模拟EEPROM保存数据,掉电不丢失,函数在协议栈中已经实现,我们只需调用就行。
主要用下面三个函数:

osal_nv_item_init(USER_NV_CATID,3,NULL);//初始化
osal_nv_read(USER_NV_CATID,0,3,nvData);//内部数据读取函数
osal_nv_write(USER_NV_CATID,0,3,nvData);//保存至内部FLASH函数
  • 1
  • 2
  • 3

在使用之前先要定义自己的地址,范围是 0x0201 – 0x0FFF。
0×0000 保留
0×0001~0×0020 操作系统抽象层(OSAL)
0×0021~0×0040 网络层(NWK)
0×0041~0×0060 应用程序支持子层(APS)
0×0061~0×0080 安全(Security)
0×0081~0x00A0 Zigbee设备对象(ZDO)
0x00A1~0×0200 保留
0×0201~0x0FFF 应用程序
0×1000~0xFFFF 保留

1、首先在ZComDef.h中定义一个自己的存储地址

#define USER_NV_CATID 0x0f00
  • 1

2、写入3个字节

unsigned char nvData[3];
nvData[0]=0x01;
nvData[1]=0x02;
nvData[2]=0x03;
osal_nv_item_init(USER_NV_CATID,3,NULL);
osal_nv_write(USER_NV_CATID,0,3,nvData);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3、读取3个字节

unsigned char nvData[3];
osal_nv_item_init(USER_NV_CATID,3,NULL);
osal_nv_read(USER_NV_CATID,0,3,nvData);
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号