【经验】无线蓝牙SoC EFR32BG22用户自定义数据存取接口NVM使用指导
在使用EFR32BG22开发应用时,大部分应用需要保存一些参数,很多开发者不清楚BG22对数据进行存取的接口是哪个,本文将介绍SILICON LABS无线蓝牙SoC EFR32BG22上对数据进行存取的接口——NVM(Non-volatile memory)的使用。
NVM在flash中的保存方式如下图:
1、 创建SoC Empty工程,安装NVM Support、NVM3 Core、NVM3 Default instance、IO Stream:USART和LOG组件,同时对串口进行配置。
2、 NVM操作的API有sl_bt_nvm_save、sl_bt_nvm_load、sl_bt_nvm_erase和sl_bt_nvm_erase_all总共4个API,以下为API说明
需要注意key取值范围为0x4000到0x407F,以及每个key值对应存储区只能保存最多56字节数据
3、 代码参考示例如下
程序主要实现将一串数字“12345678“保存在key为0x4001的存储区域内,保存后将其读出,最后擦除,测试结果如下图:
代码:
#define MY_PASSWD 0x4001
/**************************************************************************//**
* Application Init.
*****************************************************************************/
SL_WEAK void app_init(void)
{
uint8_t passwd[9] = "12345678";
uint8_t load_buff[9];
size_t load_len = 0;
sl_status_t sc;
sc = sl_bt_nvm_save(MY_PASSWD, sizeof(passwd), passwd);
if (sc != SL_STATUS_OK)
{
app_log_info("sl_bt_nvm_load Err:0x%4x\n", sc);
}
memset(load_buff, 0, sizeof(load_buff));
sl_bt_nvm_load(MY_PASSWD, sizeof(load_buff), &load_len, load_buff);
app_log_info("my passwd[%d]:%s\n", load_len, load_buff);
sl_bt_nvm_erase(MY_PASSWD);
memset(load_buff, 0, sizeof(load_buff));
sl_bt_nvm_load(MY_PASSWD, sizeof(load_buff), &load_len, load_buff);
app_log_info("my passwd[%d]:%s\n", load_len, load_buff);
}
- |
- +1 赞 0
- 收藏
- 评论 4
本文由xion提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】芯科科技EFR32BG22系列蓝牙SOC修改自定义广播包的思路与具体实例
在蓝牙的实际应用中,往往需要自定义的蓝牙广播包来适应不同的应用环境,本文主要介绍基于SILICON LABS的EFR32BG22蓝牙SOC实现自定义广播数据包的方法。
【经验】SiliconLabs EFR32BG22芯片如何实现BLE连接并进行数据收发
不少首次接触BLE的开发者不太清楚如何实现BLE数据的交互,本文以Silicon Labs的EFR32BG22芯片平台为例,指导如何通过建立BLE连接并进行数据交互。硬件:SLTB010A开发板软件。
【经验】低功耗蓝牙SoC EFR32BG22系列如何从软硬件两方面实现低功耗设计?
EFR32BG22是Silicon Labs公司主打的低功耗蓝牙SoC系列,对于新手工程师来说,如何控制好功耗,以延长电池类产品的寿命,有很多需要关注的地方。本文将从硬件和代码底层两方面分析SoC低功耗实现的关键点。
BLE Connection Roles Central/Master vs. Peripheral/Slave
Title: BLE Connection Roles: Central / Master vs. Peripheral / SlaveKeywords: BLE connection, Central vs Peripheral, bluetooth master module, bluetooth master slave,bluetooth master vs slaveDescription: Learn the nuances between Central and Peripheral roles in BLE devices to optimize energy efficiency and functionality for your projects. Unlock how to select the most suitable BLE modules based on your specific needs. In the world of Bluetooth Low Energy (BLE), BLE devices are designed to play specific roles that dictate how they interact within the BLE ecosystem.
【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法
EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。
【经验】芯科科技EFR32BG22系列蓝牙SOC低功耗优化的相关配置
本文主要介绍Silicon Labs(芯科科技)EFR32BG22系列蓝牙SOC目前所有的低功耗优化的相关配置,实现目标: VDD=3V,VSCALE0=0.9V,温度25℃,EM2模式下深度休眠为1.4μA。
【经验】支持3线PTA的Bluetooth SDK,解决蓝牙与WIFI共存难题
在设计蓝牙产品时不可避免的要与WIFI一同使用,由于蓝牙与WIFI都是2.4GHz的频段,如何解决同频干扰是我们不得不面对的一个难题。Silicon Labs提供的Bluetooth SDK从V2.6.0版本开始引入了3线的PTA,可以解决蓝牙与WIFI共存的难题。Bluetooth SDK适用于Silicon Labs EFR32BG与EFR32MG系列的无线蓝牙SOC产品。
【经验】无线SOC EFR32BG22带安全功能的OTA怎么实现?
本文介绍实现SECURE OTA DFU的操作步骤,实现蓝牙SoC OTA的安全功能
【经验】Silicon Labs低功耗蓝牙SoC EFR32BG22如何通过GPIO唤醒UART通信
SiliconLabs的低功耗蓝牙SoC EFR32BG22系列芯片以极低的功耗和相对低廉的价格,达到了性价比的极致。目前大家开发EFR32BG22,大部分都会使其工作在休眠状态,一般会先用一个GPIO唤醒EFR32BG22,通过一定的条件使EFR32BG22停止休眠,再去串口通信,通信完成后,再进入休眠这样的流程。本文介绍下如何使用Silicon Labs的Bluetooth SDK实现该功能。
【经验】如何使用Bluetooth NCP Commander和频谱仪测试EFR32BG22频偏和发射功率
使用Bluetooth NCP Commander 和频谱仪测试蓝牙SOC EFR32BG22的频偏和发射功率,首先需要在自己的开发板上烧录Bluetooth - NCP固件,然后才能通过PC端控制开发板。
【经验】如何解决Silicon Labs EFR32B22在开启一次ADC转换后,功耗变高的问题?
在使用芯科科技EFR32BG22蓝牙SoC开发低功耗应用时,可能会使用到ADC这个外设,但在ADC转换后,会出现芯片在休眠时功耗比较高的情况。本文将介绍如何解决EFR32B22在开启一次ADC转换后,功耗变高的问题?
【经验】无线SoC EFR32BG22 EM4模式的进入与唤醒实现注意事项
Silicon Labs的无线SoC EFR32BG22的EM4模式支持nA级别的待机电流,对于功耗要求极为苛刻的应用非常合适,在这个模式下,只支持特定的GPIO以及reset唤醒。本文主要讲解EM4模式的进入与唤醒实现注意事项。
【经验】Silicon Labs 蓝牙SOC EFR32BG22的Jlink接口连接问题解析
EFR32BG22是Silicon Labs公司推出的低功耗、低成本蓝牙SOC。EFR32BG22采用Cortex-M33内核,使用Jlink进行仿真调试、程序下载。出现错误提示,并且多次连接后可以正常连接,本文介绍其错误原因及其解决办法。
【应用】芯科蓝牙SOC EFR32BG22保证电动汽车充电桩数据可靠性,接收灵敏度可达-106.7 dB
在实际应用中,芯科EFR32BG22芯片的典型应用是在充电桩中建立蓝牙连接,实现与用户移动设备之间的通信和数据传输。通过蓝牙连接,充电桩可以向用户的移动设备发送充电桩的状态信息(如电量、使用情况),并接受用户的控制命令,如启动、停止、调整充电功率等。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 102,628
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制内置FPC天线的频率尺寸等参数,频率范围315MHz、433MHz、470MHz、868MHz、915MHz,2.4GHz、5.8GHz、2G(GSM)、3G、4G、5G、WIFI、蓝牙、LoRa、NB-IoT多频段可选。
最小起订量: 1000 提交需求>
可定制弹簧天线频率范围:470MHz、315MHz、433MHz、868MHz、915MHz、490MHz、2.4GHz、GPRS、3G、蓝牙;增益:0~5dBi;电压驻波比V.S.W.R:≤2;天线尺寸不限。
最小起订量: 1000 提交需求>
查看全部1条回复
查看全部2条回复