瑞萨单片机之data flash的使用(五)

一、什么是data flash?

data flash 直译数据闪存,其实就是单片机留给用户存储自己数据的地方,类似于有些51单片机内部的EEPROM ,在CS+ 中也是可以直接配置生成库函数的,但是不能直接使用!不能直接使用!不能直接使用!需要安装FDL 库。

安装包在百度网盘:
百度网盘:https://pan.baidu.com/s/1VwOa1lMxrD9uKWG8oyM7sw
提取码:dxol

  1. 现在解压—>点击安装—>我安装到安装包的路径
    在这里插入图片描述
  2. 进入FDL—>CA78K0R_110—>lib
    在这里插入图片描述

二、怎么用?

  1. 工程中配置 data flash,配置完成后点击生成代码
    在这里插入图片描述
    在这里插入图片描述
    在 r_cg_pfdl.c 中已经生成读写的函数
    在这里插入图片描述
    在这里插入图片描述

  2. 将FDL 库中的lib 文件夹复制到工程路径中
    在这里插入图片描述
    在这里插入图片描述

  3. 在工程树中新建lib 并将lib 里面的所有文件加进来,pfdl.inc 不加也可以,其他三个 必须加
    在这里插入图片描述

  4. 添加头文件依赖,这时候编译应该是没问题了
    在这里插入图片描述

三、例子

这里我直接封装了两个函数,分别是读写的函数
读写操作前需要关总中断,操作完成后再把总中断打开

/************************************************************************
**@函数功能: 写flash
**@参数:       address--->首地址
**             buffer --->缓存数据
**             size   --->数据长度 
**@返回值: 无
**@作者: XiaoYoung
**@版本及日期 2021/9/23
**@更新说明:
**************************************************************************/
void write(u16 address,u8 *buffer,u8 size)
{

 DI();
 R_FDL_Open();
 R_FDL_Erase(0);
 R_FDL_Write(address,buffer,size);
 R_FDL_Close();
 EI();

}

/************************************************************************
**@函数功能: 读flash
**@参数:       address--->首地址
**             buffer --->缓存数据
**             size   --->数据长度 
**@返回值: 无 
**@返回值: 无
**@作者: XiaoYoung
**@版本及日期 2021/9/23
**@更新说明:
**************************************************************************/
void read(u16 address,u8 *buffer,u8 size)
{
 DI();
 R_FDL_Open();
 R_FDL_Read(address,buffer,size);
 R_FDL_Close();
 EI();
}

//伪代码
int mian(void)
{
  R_FDL_Create();
  write(0x001,write_buffer,2);
  read(0x001,read_buffer,2);
  
  while(1)
  {
    ;
  }
}


  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值