当前位置: 首页 > news >正文

vip视频解析网站怎么做的中国国家人事人才培训网

vip视频解析网站怎么做的,中国国家人事人才培训网,网站推广计划书模板,做网站需要什么权限目录 一、前言 二、实现步骤 1.STM32CUBEMX配置 2.导入Flash库 3.分析地址范围 4.找到可用的地址 5.写入读取普通数据 6.写入读取字符串 6.1 存储相关信息 6.2 存取多个参数 三、总结及源码 一、前言 在面对需要持久化存储的数据时,除了挂载TF卡,我们…

目录

一、前言

二、实现步骤

        1.STM32CUBEMX配置

        2.导入Flash库

        3.分析地址范围

        4.找到可用的地址

        5.写入读取普通数据

        6.写入读取字符串

        6.1 存储相关信息

        6.2 存取多个参数

三、总结及源码


一、前言

        在面对需要持久化存储的数据时,除了挂载TF卡,我们能用到的最方便的方法就是将数据粗存入Flash,比如存储密码、存储记录等。本文中的Flash库由我开发,具有存取和写出各类型数据和字符串的功能。

二、实现步骤

        1.STM32CUBEMX配置

        此处正常配置相关参数,本文使用STM32F103C6T6,时钟频率为72MHz,Flash操作无需配置其他参数。

        2.导入Flash库

        下载并解压压缩包,可以得到一个.c文件和.h文件,将其导入到工程中,此处简单就不再赘述,不会的话可以看之前的文章。

        3.分析地址范围

        要写入Flash,我们必须知道要写入的内存地址,以STM32F103C8T6为例,依照下图的命名规则可知其Flash大小为64K,根据计算,(64*1024)-1=65535,其对应的十六进制是0xFFFF,加上起始地址0x0800 0000,可知其Flash地址范围为0x0800 0000-0x0800 FFFF

        在实际开发中如果我们使用了不同的芯片,比如本文使用STM32F103C6T6,那么其地址范围也不同,其地址范围是0x0800 0000~0x0800 7FFF,如果我们向0x0800 E000去写入数据,那必然不会成功,读取亦然。

        

        4.找到可用的地址

        其实即使我们分析出地址范围是0x0800 0000~0x0800 7FFF,但这里边的地址并非全部可用的,比如程序编译后(如下图)烧写进去是会占用一部分地址的,因此你需要把考虑进去,本文就不做论述了,有兴趣可以去其他地方查一查(如果有时间我也会出一篇文章说一下这个部分)。

        5.写入读取普通数据

        打开flash.h,可以看到我封装了很多函数。当然还有一部分数据分割代码,这个稍后再介绍。从声明中,我们可以知道如何存储和读取uint8、uint16类型的数据。

        写入并读取uint8_t类型数据。

uint8_t data_1='A';
Earse_Page(0x08006000,1);//擦除
Write_uint8(0x08006000,data_1);data_1=Read_uint8(0x08006000);

        6.写入读取字符串

        6.1 存储相关信息

        本库完成了对字符串的读写操作,以地址0x0800 7000为例,写入字符串“ABC”并读取出来。

uint8_t data[50];memset(data,'\0',50);
sprintf((char *)data,"ABC\n");
STMFLASH_Write(0x08007000,data,50);
memset(data,'\0',50);
STMFLASH_Read(0x08007000,data,50);
HAL_UART_Transmit(&huart1,data,50,1000);

        6.2 存取多个参数

        通过这种办法,其实我们可以一次存取多个参数信息,例如我将生成四个float类型的参数,将其转换成字符串,其中以固定字符分割(,),随后每次启动时,从flash读取字符串,并进行数据分割,即可实现去除数据的效果(这段代码就是头文件最后的数据分割代码)。

//存取多个参数
memset(data,'\0',50);
sprintf((char *)data,"%.2f,%.2f,%.2f,%.2f",temp,hum,water,ch4);
STMFLASH_Write(0x08007000,data,50);STMFLASH_Read(0x08007000,data,50);
temp=atof(strtok((char *)data,","));
hum=atof(strtok(NULL,","));
water=atof(strtok(NULL,","));
ch4=atof(strtok(NULL,","));
sprintf((char *)data,"%.2f,%.2f,%.2f,%.2f",temp,hum,water,ch4);
HAL_UART_Transmit(&huart1,data,50,1000);

三、总结及源码

        文章至此,已经完成Flash的各类操作,需要注意的是,存储单个类型的数据时需要先执行擦除操作,不擦除无法写入。而存储字符串时不需要,因为在字符串函数内我已经写了擦除函数,直接调用即可。同时,本文也通过字符串读写为大家提供了一种存储参数的方案。

        库文件:Flash-HAL库文件-字符串读写

        本文工程:Flash-HAL库-STM32CUBEMX工程

http://www.yidumall.com/news/40558.html

相关文章:

  • 有哪些做简历的好网站万网官网
  • 丹阳市房产信息网360优化大师下载安装
  • 宁夏银川做网站的公司有哪些做直销去哪里找客户
  • 麻花星空影视传媒制作公司天津网站seo设计
  • wordpress配置邮箱北京网站优化外包
  • 福鼎网站建设网站建设需要多少钱
  • 谷歌英文网站优化怎么做
  • 淘宝上面建设网站企业网站seo案例
  • 网站登记备案 个人空间刷赞网站推广
  • 做企业云网站的企业seo短视频入口引流
  • 必须做网站等级保护图片外链在线生成网址
  • 淘宝上做网站的信得过吗如何开发一个网站
  • 网业公司网站优化推广是什么
  • 怎么做网站访问量如何快速推广自己的网站
  • 网站收费标准大地seo
  • 揭秘低价网站建设危害网上营销的平台有哪些
  • 做外贸网站违法吗互联网推广是什么
  • 网站开发框架 知乎av手机在线精品
  • 国外比较有名的设计工作室网站百度站长统计
  • 网站建设数据库的购买域名注册网站哪个好
  • 怎样在微信上做网站原画培训班一般学费多少
  • 市场上网站开发价格如何搭建一个网站平台
  • 合肥大型网站设计公google网站增加关键词
  • 如何做微商城网站建设百度竞价开户
  • 网站怎么免费做推广方案国外黄冈网站推广软件
  • 冒险岛2做乐谱网站百度图像搜索
  • 物流行业网站建设方案今日新闻事件
  • 国外购物平台有哪些搜索引擎优化包括哪些方面
  • 网站设计有创意的主题电商网站分析
  • 快速优化网站排名的方法seo教程网