FLASH的读取与写入

FLASH的写入

结合HAL库所给参数:

查阅具体使用芯片的参考手册。

就不在详细解释,英文自行翻译。具体代码如下:

/*FLASH写入程序*/
void WriteFlashTest(uint32_t L, uint32_t addr, uint32_t *Data,int Page)
{
    int i=0;
    /* 1/4解锁FLASH*/
    HAL_FLASH_Unlock();
    /* 2/4擦除FLASH*/
    /*初始化FLASH_EraseInitTypeDef*/
    /*擦除方式页擦除FLASH_TYPEERASE_PAGES,块擦除FLASH_TYPEERASE_MASSERASE*/
    /*擦除页数*/
    /*擦除地址*/
    FLASH_EraseInitTypeDef FlashSet;
    FlashSet.TypeErase = FLASH_TYPEERASE_PAGES;
    FlashSet.Banks = FLASH_BANK_2;
    FlashSet.Page = Page;  
    FlashSet.NbPages = 1;
    /*设置PageError,调用擦除函数*/
    uint32_t PageError = 0;
    HAL_FLASHEx_Erase(&FlashSet, &PageError);
    /* 3/4对FLASH烧写*/
    for(i=0;i<L;i++)
    {
        HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, addr +8*i, Data[i]);  //FLASH_TYPEPROGRAM_WORD
    }
    /* 4/4锁住FLASH*/
    HAL_FLASH_Lock();
}

FLASH的读取

读取的话就比较简单许多,直接对获取地址数据。

void PrintFlashFloat(uint32_t L,uint32_t addr)
{
	int i=0;
	for(i=0;i<L;i++)
	{
		float readdata;	//定义读取变量
		readdata=*(float *)(addr + i*8);	//利用指针读取浮点数据
        Flash_Float_Data[i] = readdata;
	}
}
WriteFlashTest(3,addr_PD,(uint32_t *)Flas_Data_PD,250); // 保存,擦除
PrintFlashFloat(3,addr_PD);// 读取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/504109.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

揭秘五力模型:轻松掌控企业竞争命脉,决策不再迷茫!

五力分析模型又成为波特五力模型是由著名的管理学者迈克尔波特(Michael Porter)在20世纪80年代初提出的一种理论框架&#xff0c;它对企业营销中的战略制定产生了全球性的深远影响。这一模型被广泛应用于企业竞争战略的分析&#xff0c;可以帮助企业有效地分析企业在营销环境中…

python-pytorch获取FashionMNIST实际图片标签数据集

在查看pytorch官方文档的时候&#xff0c;在这里链接中https://pytorch.org/tutorials/beginner/basics/data_tutorial.html的Creating a Custom Dataset for your files章节&#xff0c;有提到要自定义数据集&#xff0c;需要用到实际的图片和标签。 在网上找了半天没找到&a…

蓝海项目!黑科技引爆全网流量小红书拉新,单日暴力收益7000+,小白也能轻松上手【揭秘】

众所周知&#xff0c;自去年以来&#xff0c;图文作品在各大平台如快手和抖音的流量大增&#xff0c;这得益于这些平台与小红书的竞争。目前&#xff0c;小红书也在积极推广&#xff0c;成功推荐新用户下载应用的奖励高达15元&#xff0c;这一数字几乎是其他平台的几倍。此外&a…

【TypeScript】解决字面量类型推断错误的四种方式

解决字面量类型推断错误的四种方式 方式一&#xff1a;对象属性使用类型断言方式二&#xff1a;传参使用类型断言方式三&#xff1a;对象使用类型断言方式四&#xff1a;对象属性使用变量&#xff0c;变量使用字面量类型参考 declare function handleRequest(url: string, meth…

深入理解HDFS工作原理:大数据存储和容错性机制解析

** 引言&#xff1a; ** 在当今数据爆炸的时代&#xff0c;存储和管理大规模数据成为了许多组织面临的重要挑战。为了解决这一挑战&#xff0c;分布式文件系统应运而生。Hadoop分布式文件系统&#xff08;HDFS&#xff09;作为Apache Hadoop生态系统的核心组件之一&#xff…

Java | Leetcode Java题解之第2题两数相加

题目&#xff1a; 题解&#xff1a; class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode head null, tail null;int carry 0;while (l1 ! null || l2 ! null) {int n1 l1 ! null ? l1.val : 0;int n2 l2 ! null ? l2.val : 0;int sum…

罗永浩直播阿里云服务器ECS u1性能如何?值得买吗?

罗永浩直播卖阿里云服务器&#xff0c;企业专享云服务器ECS通用算力型u1实例是什么&#xff1f;性能如何&#xff1f;目前阿里云服务器ECS u1实例&#xff0c;2核4G&#xff0c;5M固定带宽&#xff0c;80G ESSD Entry盘&#xff0c;优惠价格199元一年&#xff0c;罗永浩今晚直播…

算法学习16:数论03(容斥原理、博弈论)

算法学习16&#xff1a;数论03&#xff08;容斥原理、博弈论&#xff09; 文章目录 算法学习16&#xff1a;数论03&#xff08;容斥原理、博弈论&#xff09;前言一、容斥原理&#xff1a;求多个集合的并集二、博弈论1.Nim游戏&#xff1a;2.集合N-im游戏 总结 前言 提示&#…

【AI系列】Python NLTK 库和停用词处理的应用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

04 | Swoole 源码分析之 epoll 多路复用模块

首发原文链接&#xff1a;Swoole 源码分析之 epoll 多路复用模块 大家好&#xff0c;我是码农先森。 引言 在传统的IO模型中&#xff0c;每个IO操作都需要创建一个单独的线程或进程来处理&#xff0c;这样的操作会导致系统资源的大量消耗和管理开销。 而IO多路复用技术通过…

INA350ABSIDDFR 仪表放大器 单路低功耗 TSOT-23-8

NA350ABSIDDFR 是一款高精度、低功耗、单片式精密运算放大器。它具有出色的直流精度和低失调电压&#xff0c;适用于需要高精度信号处理的应用。这款产品广泛应用于各种领域&#xff0c;如工业控制、医疗设备、测试与测量设备以及通信系统等。 制造商: Texas Instruments …

Apollo配置中心使用

apollo配置中心使用 Apollo配置中心-简介apollo源码Apollo配置基本概念Apollo特性Apollo基础模型Apollo架构设计Apollo架构设计-实时推送设计Apollo架构设计-可用性Apollo架构设计-监控Apollo架构设计-扩展Apollo-本地部署准备工作安装步骤mysql命令行创建ApolloPortalDBmysql客…

实时的软件生成 —— Prompt 编程打通低代码的最后一公里?

原文&#xff1a;实时的软件生成 —— Prompt 编程打通低代码的最后一公里&#xff1f;_运行_问题_示例 PS&#xff1a;这也是一篇畅想&#xff0c;虽然经过了一番试验&#xff0c;依旧有一些不足&#xff0c;但是大体上站得住脚。 传统的软件生成方式需要程序员编写大量的代…

矩阵间关系的建立

参考文献 2-D Compressive Sensing-Based Visually Secure Multilevel Image Encryption Scheme 加密整体流程如下: 我们关注左上角这一部分: 如何在两个图像之间构建关系,当然是借助第3个矩阵。 A. Establish Relationships Between Different Images 简单说明如下: …

Redis类型 Stream Bitfield

Stream 类型 Stream类型就是Redis里的mq,是redis为了占领市场份额的产物 今天我们就来介绍一下Stream Redis的消息队列一般是两个方案 第一个是Lpush Rpop 队列的异步队列方案(一对一) 第二个方案就是pubsub(发布订阅)模式 (一对多) 注:这里如果没有消费者了,队列中的数据就直…

android RK3328 gpio处理,android高级面试2024

public static class CommandResult { public int result -1; public String errorMsg; public String successMsg; } /** 执行命令—单条 param command param isRoot return */ public static CommandResult execCommand(String command, boolean isRoot) { Str…

已上线项目,突然有一天网站虽进得去,但是接口拿不到数据,作为前端的你如何排查问题?

在开始写这篇博客之前,想说几句题外话哈,虽然自己的粉丝不多,但自己每篇博客都是用心在写,可能后面会针对部分文章开启只有VIP才能访问,原因你们也懂得(▽),无非是想赚点外块呗,不过主要现在也是知识付费时代,毕竟自己写出的东西也是本人亲身经历着,也是具有一定的价值…

试题G(买二赠一)

问题描述】 某商场有 N 件商品&#xff0c;其中第 i 件的价格是 Ai。现在该商场正在进行 “买二 赠一” 的优惠活动&#xff0c;具体规则是&#xff1a; 每购买 2 件商品&#xff0c;假设其中较便宜的价格是 P&#xff08;如果两件商品价格一样&#xff0c; 则 P 等于其中一件…

Python之Opencv进阶教程(2):统计图片灰度级别的像素数量

1、什么是灰度像素数量 在OpenCV中&#xff0c;可以使用**cv2.calcHist()**函数来计算图像的直方图。直方图是一种图形统计表&#xff0c;用于表示图像中每个灰度级别&#xff08;或颜色通道&#xff09;的像素数量或密度分布。以下是一个示例代码&#xff0c;演示了如何使用O…

CTK插件框架学习-插件注册调用(03)

CTK插件框架学习-新建插件(02)https://mp.csdn.net/mp_blog/creation/editor/136923735 一、CTK插件组成 接口类&#xff1a;对外暴露的接口&#xff0c;供其他插件调用实现类&#xff1a;实现接口内的方法激活类&#xff1a;负责将插件注册到CTK框架中 二、接口、插件、服务…