A33 STM32_HAL库函数 之 NOR 通用驱动 -- B -- 所有函数的介绍及使用

A33 STM32_HAL库函数 之 NOR 通用驱动 -- B -- 所有函数的介绍及使用

  • 1 该驱动函数预览
      • 1.10 HAL_NOR_ReadBuffer
      • 1.11 HAL_NOR_ProgramBuffer
      • 1.12 HAL_NOR_Erase_Block
      • 1.13 HAL_NOR_Erase_Chip
      • 1.14 HAL_NOR_Read_CFI
      • 1.15 HAL_NOR_WriteOperation_Enable
      • 1.16 HAL_NOR_WriteOperation_Disable
      • 1.17 HAL_NOR_GetState
      • 1.18 HAL_NOR_GetStatus
  • 该文档修改记录:
  • 总结

1 该驱动函数预览

序号函数名描述
1HAL_NOR_Init()初始化NOR闪存设备。
2HAL_NOR_DeInit()反初始化NOR闪存设备。
3HAL_NOR_MspInit()初始化MCU外设相关的NOR引脚或资源。
4HAL_NOR_MspDeInit()反初始化MCU外设相关的NOR引脚或资源。
5HAL_NOR_MspWait()为NOR闪存设备的操作进行等待。
6HAL_NOR_Read_ID()读取NOR闪存设备的ID。
7HAL_NOR_ReturnToReadMode()将NOR闪存设备返回到读取模式。
8HAL_NOR_Read()从NOR闪存设备中读取数据。
9HAL_NOR_Program()向NOR闪存设备中编程数据。
10HAL_NOR_ReadBuffer()从NOR闪存设备中读取数据缓冲区。
11HAL_NOR_ProgramBuffer()向NOR闪存设备中编程数据缓冲区。
12HAL_NOR_Erase_Block()擦除NOR闪存设备的块。
13HAL_NOR_Erase_Chip()擦除NOR闪存设备的整个芯片。
14HAL_NOR_Read_CFI()从NOR闪存设备中读取CFI(通用闪存接口)信息。
15HAL_NOR_WriteOperation_Enable()启用NOR闪存设备的写操作。
16HAL_NOR_WriteOperation_Disable()禁用NOR闪存设备的写操作。
17HAL_NOR_GetState()获取NOR闪存设备的状态。
18HAL_NOR_GetStatus()获取NOR闪存设备的状态寄存器的值。

以下是使用模板:

#include "stm32f4xx_hal.h"int main(void) {// HAL初始化HAL_Init();// 初始化MCU外设相关的NOR引脚或资源HAL_NOR_MspInit();// 初始化NOR闪存设备HAL_NOR_Init();// 进行其他操作...// 读取NOR闪存设备的IDHAL_NOR_Read_ID();// 读取NOR闪存设备的状态HAL_NOR_GetStatus();// 反初始化NOR闪存设备HAL_NOR_DeInit();// 反初始化MCU外设相关的NOR引脚或资源HAL_NOR_MspDeInit();return 0;
}

1.10 HAL_NOR_ReadBuffer

函数名HAL_NOR_ReadBuffer
函数原形HAL_StatusTypeDef HAL_NOR_ReadBuffer(NOR_HandleTypeDef *hnor, uint32_t Address, uint16_t *pData, uint32_t BufferSize)
功能描述从 NOR Flash 中连续读取一段数据
输入参数 1hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输入参数 2Address:读取数据的起始地址
输入参数 3pData:存储读取数据的缓冲区
输入参数 4BufferSize:要读取的数据字节数
输出参数pData:存储读取数据的缓冲区
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.11 HAL_NOR_ProgramBuffer

函数名HAL_NOR_ProgramBuffer
函数原形HAL_StatusTypeDef HAL_NOR_ProgramBuffer(NOR_HandleTypeDef *hnor, uint32_t Address, uint16_t *pData, uint32_t BufferSize)
功能描述向 NOR Flash 中连续编程一段数据
输入参数 1hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输入参数 2Address:编程数据的起始地址
输入参数 3pData:要编程的数据缓冲区
输入参数 4BufferSize:要编程的数据字节数
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.12 HAL_NOR_Erase_Block

函数名HAL_NOR_Erase_Block
函数原形HAL_StatusTypeDef HAL_NOR_Erase_Block(NOR_HandleTypeDef *hnor, uint32_t BlockAddress)
功能描述擦除 NOR Flash 中的一个块
输入参数 1hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输入参数 2BlockAddress:擦除块的地址
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.13 HAL_NOR_Erase_Chip

函数名HAL_NOR_Erase_Chip
函数原形HAL_StatusTypeDef HAL_NOR_Erase_Chip(NOR_HandleTypeDef *hnor)
功能描述擦除整个 NOR Flash
输入参数hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.14 HAL_NOR_Read_CFI

函数名HAL_NOR_Read_CFI
函数原形HAL_StatusTypeDef HAL_NOR_Read_CFI(NOR_HandleTypeDef *hnor, NOR_CFITypeDef *pNOR_CFI)
功能描述读取 NOR Flash 的 CFI 数据
输入参数 1hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输入参数 2pNOR_CFI:存储读取到的 CFI 数据的结构体指针
输出参数pNOR_CFI:存储读取到的 CFI 数据的结构体指针
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.15 HAL_NOR_WriteOperation_Enable

函数名HAL_NOR_WriteOperation_Enable
函数原形HAL_StatusTypeDef HAL_NOR_WriteOperation_Enable(NOR_HandleTypeDef *hnor)
功能描述启用 NOR Flash 的写操作
输入参数hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK

或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |


1.16 HAL_NOR_WriteOperation_Disable

函数名HAL_NOR_WriteOperation_Disable
函数原形HAL_StatusTypeDef HAL_NOR_WriteOperation_Disable(NOR_HandleTypeDef *hnor)
功能描述禁用 NOR Flash 的写操作
输入参数hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.17 HAL_NOR_GetState

函数名HAL_NOR_GetState
函数原形HAL_NOR_StateTypeDef HAL_NOR_GetState(NOR_HandleTypeDef *hnor)
功能描述获取 NOR Flash 的当前状态
输入参数hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输出参数
返回值HAL_NOR_StateTypeDef:NOR Flash 的状态
先决条件
被调用函数

1.18 HAL_NOR_GetStatus

函数名HAL_NOR_GetStatus
函数原形HAL_NOR_StatusTypeDef HAL_NOR_GetStatus(NOR_HandleTypeDef *hnor, uint32_t Timeout)
功能描述获取 NOR Flash 的操作状态
输入参数 1hnor:NOR 句柄,指向一个 NOR_HandleTypeDef 结构体
输入参数 2Timeout:超时时间(单位:毫秒)
输出参数
返回值HAL_NOR_StatusTypeDef:NOR Flash 的操作状态
先决条件
被调用函数

该文档修改记录:

修改时间修改说明
2024年4月30日第一次发布,介绍了该博客驱动所有函数的介绍及使用

总结

以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51单片机STC89C52RC——3.1 数码管静态展示

目的 让数码管在指定位置显示指定数字 一,STC单片机模块 二,数码管 2.1 数码管位置 2.2 生活中用到的数目管 红绿灯 LED数码管在生活中随处可见,洗衣机、电饭煲、热水器、微波炉、冰箱、这些最基本的家用电器上基本都用到了这种7段LED数…

广告权重及出价解析

由于算法一直在不断改变,所以公式只能作为参考,不过核心是不变的。一、广告权重及出价解析 链接质量分CTR分值**CR分值(点击率*转化率)广告质量分广告出价*链接质量分我们的出价下一名产品的广告质量评分/我们的链接质量分0.01 …

Spring Bean详解

Spring Bean作用域 默认情况下,所有的 Spring Bean 都是单例的,也就是说在整个 Spring 应用中, Bean 的实例只有一个 如果我们需要创建多个实例的对象,那么应该将 Bean 的 scope 属性定义为 prototype,如果 Spring 需…

嵌入式linux系统中SPI子系统验证03

今天主要给大家分享一下,如何使用SPI总线进行验证的方法。 第一:SPI验证流程 1. echo 1 > /dev / spidev3.0 2.逻辑分析仪抓波形 3.十六进指转化为十进制 4.ASCII字符代码表匹配 第二:SPI验证结果 第三:设备…

搜维尔科技:通过 scalefit 的人体工程学分析或您自己的基于 Movella 动作捕捉的工业运动员测量系统来识别隐藏的健康风险

通过 scalefit的人体工程学分析或您自己的基于 Movella 动作捕捉的工业运动员测量系统来识别隐藏的健康风险 搜维尔科技:通过scalefit的人体工程学分析或您自己的基于Movella动作捕捉的工业运动员测量系统

“论数据访问层设计技术及其应用”写作框架,系统架构设计师

论文真题 在信息系统的开发与建设中,分层设计是一种常见的架构设计方法,区分层次的目的是为了实现“高内聚低耦合”的思想。分层设计能有效简化系统复杂性,使设计结构清晰,便于提高复用能力和产品维护能力。一种常见的层次划分模…

eclipse如何导入springboot项目

打开eclipse 找到你的springboot项目 点击finish即可 test02就已经导入进去了 配置一下maven 在将那个springboot项目刷新一下即可 运行成功

得物面试:什么是零复制?说说 零复制 底层原理?(吊打面试官)

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的零复制的问题: 说一说Rocketmq、是如何实现每秒上百万数据的超…

【C++11】详谈隐式类型转换

🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | Linux | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 C11中 隐式类型转换 的相关内容。 如果看到最后您觉得这篇文章写得…

用户组的概念(linux篇)

当我们创建一个用户的时候&#xff0c;会创建一个和它同名的分组 1.groups&#xff1a;查看当前用户所在的分组&#xff08;或者groups <用户名>&#xff09; [rootlocalhost ~]# useradd Tom -m -s /bin/bash [rootlocalhost ~]# cd /home/ [rootlocalhost home]# ls h…

实现跑马灯

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 跑马灯 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){Color[] colors { Color.Red, Color.Green, Color.Yellow };T…

JAVA每日作业day6.19

ok了家人们今天继续学习面向对象&#xff0c;话不多说看看今天学了什么 一.面向对象-封装 1&#xff0c;private private:私有的 权限修饰符 是一个成员修饰符&#xff0c;修饰成员变量 被private修饰的成员变量和成员方法只能在本类中使用 对外访问使用是 set XXX 和 get X…

IO流2.

字符流-->字符流的底层其实就是字节流 public class Stream {public static void main(String[] args) throws IOException {//1.创建对象并关联本地文件FileReader frnew FileReader("abc\\a.txt");//2.读取资源read()int ch;while((chfr.read())!-1){System.out…

pytorch库 02 Anaconda、Jupyter常用命令及操作

文章目录 一、Anaconda Prompt1、conda常用命令2、pip常用命令 二、Jupyter1、Jupyter常用命令及基本操作2、Jupyter代码补全插件安装 一、Anaconda Prompt 1、conda常用命令 下列命令可以在Anaconda Prompt中输入。 清屏&#xff1a; cls 查看帮助&#xff1a; conda -h 查…

海南聚广众达电子商务咨询有限公司抖音电商新引擎

在数字化浪潮席卷而来的今天&#xff0c;抖音电商作为新兴的商业模式&#xff0c;正以其独特的魅力和无限的潜力&#xff0c;引领着电子商务行业的革新与发展。海南聚广众达电子商务咨询有限公司&#xff0c;作为专注于抖音电商服务的领军企业&#xff0c;凭借其专业的团队、丰…

字符串常用的方法

1. charAt(index) 返回字符串中指定位置的字符。 const str "Hello, World!"; console.log(str.charAt(0)); // 输出 "H" 2. concat(str1, str2, ...) 将一个或多个字符串与原字符串连接合并&#xff0c;形成一个新的字符串。 const str "Hell…

【IPython的使用技巧】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

异步方式遍历IndexedDB

IndexedDB 提供了一个客户端存储大量结构化数据的能力&#xff0c;使得 Web 应用程序即使在网络不可用的情况下也能访问数据&#xff0c;这对于构建离线优先或者对网络依赖较小的应用至关重要。 IndexedDB提供了指针对象 IDBCursor&#xff0c;监听onsuccess事件以遍历数据。 …

u-modal自带的取消和确认按钮都在上面

添加&#xff1a;:show-cancel-button"true" <u-modal:show"showbut":show-cancel-button"true"title"提示":content"content"confirm"confirm"cancel"onModalCancel"confirmText"确认"c…

GRIT论文阅读笔记

一篇试图统一生成任务和编码任务的工作&#xff0c;就是把只能完成生成任务的GPT改成既能生成又能encode。思路其实很简单&#xff0c;就是在输入的时候添加instruction tokens来指引模型做representation还是generation&#xff0c;然后各自算损失。representation任务用的是d…