实验例程基础程序nv data读写.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验 15 - NV DATA 读写实验 1. 实验目的 掌握 NRF24LE1 的NV DATA 的读写。 2. 实验内容 按键 S1 按下时,程序向 0xFA00~0xFA04 地址依次写入 0x01、0x02、0x03、0x04、0x05 5 个字节数据,写完后,再读出数据并通过串口打印出数据。 3. 实验原理 NRF24LE1 内部集成 1.5KB 的NV DATA 。 ⚫ 1KB NV 非易失存储器; ⚫ 512 字节的耐久扩展存储器; ⚫ 普通 Flash 块提供最少 1000 次擦/写循环; ⚫ 扩展 Flash 块提供最少 20000 次擦/写循环。 1.5KB 的NV 非易失数据存储器包括两页各 256 字节的扩展页和两页各 512 字节的普通 页。表 1 列出了 MCU 和 SPI 可以访问的这 4 页的映像和用来擦除的页数。 表 1:MCU 和 SPI 可以访问的映像及可擦除的页数 数据存储区 MCU 地址 SPI 地址 页数 长擦写循环次数数据 0xFA00~0xFAFF NA 32 区 0xFB00~0xFBFF NA 33 普通擦写循环次数数 0xFC00~0xFCFF 0x4400~0x45FF 34 据区 0xFE00~0xFEFF 0x4600~0x47FF 35 4. 实验步骤 ⚫ 在 Keil uVision4 中打开工程 “nvdat.uvproj ”工程; ⚫ 编译工程,注意查看编译输出栏,观察编译的结果,如果有错误,修改程序,直到 编译成功为止; ⚫ 将编译生成的 HEX 文件 “nvdat hex ” (该文件位于工程目录下的 “Object ”文件夹 中)通过编程器下载到开发板中运行。 ⚫ 打开串口调试助手,选择串口号,设置波特率为 57600,打开串口,注意不要勾选 “HEX 显示”。按下 S1 按键再松开,观察串口输出的数据。 5. 实验程序 5.1. 程序流程 5.2. 程序清单 #define D1 P00 //开发板上的指示灯 D1 /***************************************************************************** *描 述 : 配置 IO P0.0 为输出,驱动 LED 。P03 输出: UART TXD ,P04:输入 UART RXD *入 参 : 无 *返回值 : 无 ******************************************************************************/ void IO_Init(void) { P0DIR &= ~0x01; //配置 P0.0 为输出 P0DIR &= ~0x08; //P03:输出 UART TXD P0DIR |= 0x10; //P04:输入 UART RXD D4 = 1; //设置 D4 初始状态为熄灭 } /***************************************************************************** *描 述 : 串口打印字符串 *入 参 : 无 *返回值 : 无 ******************************************************************************/ void PutString(char *s) { while(*s != 0) hal_uart_putchar(*s++); } /***************************************************************************** *描

您可能关注的文档

文档评论(0)

153****4985 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档