A30 STM32_HAL库函数 之 NAND通用驱动 -- A-- 所有函数的介绍及使用

1 该驱动函数预览

序号函数名描述
1HAL_NAND_Init()初始化NAND闪存设备。
2HAL_NAND_DeInit()反初始化NAND闪存设备。
3HAL_NAND_MspInit()初始化MCU外设相关的NAND引脚或资源。
4HAL_NAND_MspDeInit()反初始化MCU外设相关的NAND引脚或资源。
5HAL_NAND_IRQHandler()NAND闪存中断处理程序。
6HAL_NAND_ITCallback()NAND闪存中断回调函数。
7HAL_NAND_ConfigDevice()配置NAND闪存设备。
8HAL_NAND_Read_ID()读取NAND闪存设备的ID。
9HAL_NAND_Reset()复位NAND闪存设备。
10HAL_NAND_Read_Page_8b()从NAND闪存设备中读取8位数据页。
11HAL_NAND_Read_Page_16b()从NAND闪存设备中读取16位数据页。
12HAL_NAND_Write_Page_8b()向NAND闪存设备中写入8位数据页。
13HAL_NAND_Write_Page_16b()向NAND闪存设备中写入16位数据页。
14HAL_NAND_Read_SpareArea_8b()从NAND闪存设备中读取8位备用区。
15HAL_NAND_Read_SpareArea_16b()从NAND闪存设备中读取16位备用区。
16HAL_NAND_Write_SpareArea_8b()向NAND闪存设备中写入8位备用区。
17HAL_NAND_Write_SpareArea_16b()向NAND闪存设备中写入16位备用区。
18HAL_NAND_Erase_Block()擦除NAND闪存设备的块。
19HAL_NAND_Read_Status()读取NAND闪存设备的状态。
20HAL_NAND_Address_Inc()NAND闪存地址自增函数。
21HAL_NAND_ECC_Enable()启用NAND闪存设备的ECC(错误校验和纠正)。
22HAL_NAND_ECC_Disable()禁用NAND闪存设备的ECC。
23HAL_NAND_GetECC()获取NAND闪存设备的ECC信息。
24HAL_NAND_GetState()获取NAND闪存设备的状态。
25HAL_NAND_Read_Status()读取 NAND Flash 的状态寄存器

以下是使用模板:

#include "stm32f4xx_hal.h"

int main(void) {
    // HAL初始化
    HAL_Init();
    
    // 初始化MCU外设相关的NAND引脚或资源
    HAL_NAND_MspInit();
    
    // 初始化NAND闪存设备
    HAL_NAND_Init();
    
    // 进行其他操作...
    
    // 配置NAND闪存设备
    HAL_NAND_ConfigDevice();
    
    // 从NAND闪存设备中读取ID
    HAL_NAND_Read_ID();
    
    // 读取NAND闪存设备的状态
    HAL_NAND_Read_Status();
    
    // 反初始化NAND闪存设备
    HAL_NAND_DeInit();
    
    // 反初始化MCU外设相关的NAND引脚或资源
    HAL_NAND_MspDeInit();
    
    return 0;
}

1.1 HAL_NAND_Init

函数名HAL_NAND_Init
函数原形HAL_StatusTypeDef HAL_NAND_Init(NAND_HandleTypeDef *hnand)
功能描述初始化 NAND Flash 外设
输入参数hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.2 HAL_NAND_DeInit

函数名HAL_NAND_DeInit
函数原形HAL_StatusTypeDef HAL_NAND_DeInit(NAND_HandleTypeDef *hnand)
功能描述反初始化 NAND Flash 外设
输入参数hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.3 HAL_NAND_MspInit

函数名HAL_NAND_MspInit
函数原形void HAL_NAND_MspInit(NAND_HandleTypeDef *hnand)
功能描述初始化 NAND Flash 外设相关的 GPIO 和时钟等
输入参数hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.4 HAL_NAND_MspDeInit

函数名HAL_NAND_MspDeInit
函数原形void HAL_NAND_MspDeInit(NAND_HandleTypeDef *hnand)
功能描述反初始化 NAND Flash 外设相关的 GPIO 和时钟等
输入参数hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.5 HAL_NAND_IRQHandler

函数名HAL_NAND_IRQHandler
函数原形void HAL_NAND_IRQHandler(NAND_HandleTypeDef *hnand)
功能描述处理 NAND Flash 外设的中断
输入参数hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.6 HAL_NAND_ITCallback

函数名HAL_NAND_ITCallback
函数原形void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand)
功能描述处理 NAND Flash 外设的中断回调函数
输入参数hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.7 HAL_NAND_ConfigDevice

函数名HAL_NAND_ConfigDevice
函数原形HAL_StatusTypeDef HAL_NAND_ConfigDevice(NAND_HandleTypeDef *hnand, NAND_TimingTypeDef *pTiming, NAND_InitTypeDef *pConfig)
功能描述配置 NAND Flash 外设
输入参数 1hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输入参数 2pTiming:NAND Flash 外设的时序参数,指向一个 NAND_TimingTypeDef 结构体
输入参数 3pConfig:NAND Flash 外设的初始化参数,指向一个 NAND_InitTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.8 HAL_NAND_Read_ID

函数名HAL_NAND_Read_ID
函数原形HAL_StatusTypeDef HAL_NAND_Read_ID(NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID)
功能描述读取 NAND Flash 的 ID
输入参数 1hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输入参数 2pNAND_ID:存储 NAND Flash ID 的结构体,指向一个 NAND_IDTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.9 HAL_NAND_Reset

函数名HAL_NAND_Reset
函数原形HAL_StatusTypeDef HAL_NAND_Reset(NAND_HandleTypeDef *hnand)
功能描述复位 NAND Flash 外设
输入参数hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.10 HAL_NAND_Read_Page_8b

函数名HAL_NAND_Read_Page_8b
函数原形HAL_StatusTypeDef HAL_NAND_Read_Page_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pData, uint32_t Size)
功能描述以 8 位

模式读取 NAND Flash 中的一页数据 |
| 输入参数 1 | hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体 |
| 输入参数 2 | pAddress:NAND Flash 内的地址,指向一个 NAND_AddressTypeDef 结构体 |
| 输入参数 3 | pData:存储读取数据的缓冲区 |
| 输入参数 4 | Size:要读取的数据字节数 |
| 输出参数 | pData:存储读取数据的缓冲区 |
| 返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |


1.11 HAL_NAND_Read_Page_16b

函数名HAL_NAND_Read_Page_16b
函数原形HAL_StatusTypeDef HAL_NAND_Read_Page_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pData, uint32_t Size)
功能描述以 16 位模式读取 NAND Flash 中的一页数据
输入参数 1hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输入参数 2pAddress:NAND Flash 内的地址,指向一个 NAND_AddressTypeDef 结构体
输入参数 3pData:存储读取数据的缓冲区
输入参数 4Size:要读取的数据字节数
输出参数pData:存储读取数据的缓冲区
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.12 HAL_NAND_Write_Page_8b

函数名HAL_NAND_Write_Page_8b
函数原形HAL_StatusTypeDef HAL_NAND_Write_Page_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pData, uint32_t Size)
功能描述以 8 位模式写入数据到 NAND Flash 的一页
输入参数 1hnand:NAND 句柄,指向一个 NAND_HandleTypeDef 结构体
输入参数 2pAddress:NAND Flash 内的地址,指向一个 NAND_AddressTypeDef 结构体
输入参数 3pData:要写入的数据缓冲区
输入参数 4Size:要写入的数据字节数
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数


该文档修改记录:

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

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常驻客栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值