基于 NXP QN9080 NVDS 使用

一、        概述

NVDS 为用户信息保留在闪存的一个页面,称为非易失性数据存储 ( NVDS )。NVDS 中的每个条目都包含一个标记 ID 和一个数据值。本文将介绍如何使用 NVDS 来保存用户数据,实现掉电不丢失数据


二、        环境搭建

2.1 SDK 下载

本文基于 NXP QN9080 IC,SDK 可在 NXP 官网 https://mcuxpresso.nxp.com 下载

2.2 硬件

本文基于 QN9080 DK 板进行开发,DK 板如图 2.2 所示

图 2.2

2.3 开发软件

SDK 支持 IAR 、 Keil 、 MCUXpreeso IDE 三种开发软件、本文以 IAR 为开发环境作为介绍

三、        工程移植

在SDK_2.2.0_QN908XCDK\boards\qn908xcdk\wireless_examples\bluetooth\hid_device目录下的工程已经实现蓝牙鼠标的功能,我们可在此工程上介绍 NVDS 的使用

3.1  NVDS 初始化

在 SDK 工程 board.c 文件中已完成 NVDS 的初始化,初始化之后就可以使用 NVDS 的读、写、删除等操作,如图 3.1 所示

图 3.1

3.2 定义 NVDS TAG  

在 nvds.h 中定义 NVDS_TEST ,ID 为 0x64。NVDS 中保存了芯片的一些重要信息,为保证与自定义不冲突,用户自定义 ID 可从 0x64 开始,如图 3.2 所示

图 3.2

3.3 NVDS 写操作

NVDS 写操作函数为 nvds_put ,函数第一个参数为 TAG,填写上一步定义的 NVDS_TEST,第二个参数是写入的个数,填写 1,第三个为填入的值,此处填写 0x55,如图 3.3 所示



图 3.3

3.4 NVDS 读操作

NVDS 读操作函数为 nvds_get ,函数第一个参数为 TAG,填写上一步定义的 NVDS_TEST,第二个参数是读取的个数,填写 1,第三个为获取的值,如图 3.4 所示

 

图 3.4

 

3.5 NVDS 删除

NVDS 删除操作函数为 nvds_del ,函数只有一个参数 TAG,填写上一步定义的 NVDS_TEST,如图 3.5 所示



图 3.5

四、        总结

本文介绍了 QN9080 NVDS 的使用方法,包括如何定义 NVDS TAG,NVDS读、NVDS 写以及删除 NVDS TAG 等操作,更多关于 QN9080 开发资料可关注大联大~大大通博文专区

 

五、        参考文献

【1】《 QN908X Product data sheet 》

【2】《 QN908x user manual 》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论