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

CC541 无法保存SNV

现发现一个问题,调试用户数据保存到SNV中,调试发现读取出来的数据全为0,无法保存到snv。请协助分析下,谢谢!

使用了osal_snv_write()和osal_snv_read()函数,访问0x80这个ID。

测试code如下,该函数也是在osal_snv_init()之后调用的:

 

void cc2541_MAC2snv_test(void)

{

    uint8 nv_ret; 

    uint8 nv_data_read[128] =0;

    uint8 nv_data_write[128] = 0; 

 

    uint8 ownAddress[B_ADDR_LEN];  

 

    ownAddress[0]=*(unsigned char *)(0x780E); // 直接指向指针内容  

    ownAddress[1]=*(unsigned char *)(0x780F);  

    ownAddress[2]=*(unsigned char *)(0x7810);  

    ownAddress[3]=XREG(0x7811);                // define 函数直接读出数据  

    ownAddress[4]=XREG(0x7812);  

    ownAddress[5]=XREG(0x7813);               

       osal_memset(nv_data_write, 0, sizeof(nv_data_write)); //清空缓冲区后,作为接收缓冲区

 

        nv_data_write[0]=ownAddress[0];

    nv_data_write[1]=ownAddress[1];

    nv_data_write[2]=ownAddress[2];

    nv_data_write[3]=ownAddress[3];

    nv_data_write[4]=ownAddress[4];

    nv_data_write[5]=ownAddress[5];

        nv_ret = osal_snv_write(0x80, 128, nv_data_write);

    if(nv_ret!= NV_OPER_FAILED)

       {

      nv_ret = osal_snv_read(0x80, 128, nv_data_read);

    }

}

Viki Shi:

推荐看一下这篇博文,SNV的使用讲的比较详细: blog.csdn.net/…/50190859

Hank Zhang:

回复 Viki Shi:

还有一个问题询问一下
IOS系统(比如IOS设置菜单中,无法搜索到CC2541设备),IOS微信小程序,无法搜索到CC2541的广播,但是IOS的APP可以搜到,安卓系统和APP中也能搜到,这什么原因导致的
我看到有人说IOS系统只能用APP才可以搜到,那IOS微信小程序为什么搜不到,有没有什么解决办法

Alvin Chen:

回复 Hank Zhang:

这是双模和单模的问题,CC2541发出的是BLE广播,你手机是双模芯片,你要用APP让他去扫描单模的BLE广播。怎么解决,你去按照APP的code去改你手机端的程序。

Hank Zhang:

回复 Viki Shi:

你好,这篇博文我看过好几遍了,也是按他说的来的,但是还是没有解决问题,还有没有其他参考或者建议,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » CC541 无法保存SNV
分享到: 更多 (0)