本文主要是介绍A24 STM32_HAL库函数 之 I2s通用驱动 -- A-- 所有函数的介绍及使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
A24 STM32_HAL库函数 之 I2s通用驱动 -- A-- 所有函数的介绍及使用
- 1 该驱动函数预览
- 1.1 HAL_I2S_Init
- 1.2 HAL_I2S_DeInit
- 1.3 HAL_I2S_MspInit
- 1.4 HAL_I2S_MspDeInit
- 1.5 HAL_I2S_Transmit
- 1.6 HAL_I2S_Receive
- 1.7 HAL_I2S_Transmit_IT
- 1.8 HAL_I2S_Receive_IT
- 1.9 HAL_I2S_Transmit_DMA
- 1.10 HAL_I2S_Receive_DMA
- 该文档修改记录:
- 总结
1 该驱动函数预览
序号 | 函数名 | 描述 |
---|
1 | HAL_I2S_Init() | 初始化I2S接口。 |
2 | HAL_I2S_DeInit() | 反初始化I2S接口。 |
3 | HAL_I2S_MspInit() | 初始化MCU外设相关的I2S引脚或资源。 |
4 | HAL_I2S_MspDeInit() | 反初始化MCU外设相关的I2S引脚或资源。 |
5 | HAL_I2S_Transmit() | 通过I2S接口发送数据。 |
6 | HAL_I2S_Receive() | 通过I2S接口接收数据。 |
7 | HAL_I2S_Transmit_IT() | 使用中断发送数据通过I2S接口。 |
8 | HAL_I2S_Receive_IT() | 使用中断接收数据通过I2S接口。 |
9 | HAL_I2S_Transmit_DMA() | 使用DMA发送数据通过I2S接口。 |
10 | HAL_I2S_Receive_DMA() | 使用DMA接收数据通过I2S接口。 |
11 | HAL_I2S_DMAPause() | 暂停I2S DMA传输。 |
12 | HAL_I2S_DMAResume() | 恢复I2S DMA传输。 |
13 | HAL_I2S_DMAStop() | 停止I2S DMA传输。 |
14 | HAL_I2S_IRQHandler() | I2S中断处理程序。 |
15 | HAL_I2S_TxHalfCpltCallback() | I2S发送半完成回调函数。 |
16 | HAL_I2S_TxCpltCallback() | I2S发送完成回调函数。 |
17 | HAL_I2S_RxHalfCpltCallback() | I2S接收半完成回调函数。 |
18 | HAL_I2S_RxCpltCallback() | I2S接收完成回调函数。 |
19 | HAL_I2S_ErrorCallback() | I2S错误回调函数。 |
20 | HAL_I2S_GetState() | 获取I2S接口的状态。 |
21 | HAL_I2S_GetError() | 获取I2S接口的错误状态。 |
以下是使用模板:
#include "stm32f4xx_hal.h"int main(void) {HAL_Init();HAL_I2S_MspInit();HAL_I2S_Init();HAL_I2S_Transmit();HAL_I2S_Receive();HAL_I2S_Transmit_DMA();HAL_I2S_Receive_DMA();HAL_I2S_IRQHandler();uint32_t i2sState = HAL_I2S_GetState();uint32_t i2sError = HAL_I2S_GetError();HAL_I2S_DeInit();HAL_I2S_MspDeInit();return 0;
}
1.1 HAL_I2S_Init
函数名 | HAL_I2S_Init |
---|
函数原形 | HAL_StatusTypeDef HAL_I2S_Init(I2S_HandleTypeDef *hi2s) |
功能描述 | 初始化 I2S 外设 |
输入参数 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.2 HAL_I2S_DeInit
函数名 | HAL_I2S_DeInit |
---|
函数原形 | HAL_StatusTypeDef HAL_I2S_DeInit(I2S_HandleTypeDef *hi2s) |
功能描述 | 反初始化 I2S 外设 |
输入参数 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.3 HAL_I2S_MspInit
函数名 | HAL_I2S_MspInit |
---|
函数原形 | void HAL_I2S_MspInit(I2S_HandleTypeDef *hi2s) |
功能描述 | 初始化 I2S 外设的 GPIO、时钟和 DMA 配置 |
输入参数 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.4 HAL_I2S_MspDeInit
函数名 | HAL_I2S_MspDeInit |
---|
函数原形 | void HAL_I2S_MspDeInit(I2S_HandleTypeDef *hi2s) |
功能描述 | 反初始化 I2S 外设的 GPIO、时钟和 DMA 配置 |
输入参数 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.5 HAL_I2S_Transmit
函数名 | HAL_I2S_Transmit |
---|
函数原形 | HAL_StatusTypeDef HAL_I2S_Transmit(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout) |
功能描述 | 通过 I2S 外设发送数据 |
输入参数 1 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输入参数 2 | pData:指向发送数据的缓冲区 |
输入参数 3 | Size:要发送的数据长度 |
输入参数 4 | Timeout:超时时间 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.6 HAL_I2S_Receive
函数名 | HAL_I2S_Receive |
---|
函数原形 | HAL_StatusTypeDef HAL_I2S_Receive(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout) |
功能描述 | 通过 I2S 外设接收数据 |
输入参数 1 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输入参数 2 | pData:指向接收数据的缓冲区 |
输入参数 3 | Size:要接收的数据长度 |
输入参数 4 | Timeout:超时时间 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.7 HAL_I2S_Transmit_IT
函数名 | HAL_I2S_Transmit_IT |
---|
函数原形 | HAL_StatusTypeDef HAL_I2S_Transmit_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) |
功能描述 | 使用中断方式通过 I2S 外设发送数据 |
输入参数 1 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输入参数 2 | pData:指向发送数据的缓冲区 |
输入参数 3 | Size:要发送的数据长度 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.8 HAL_I2S_Receive_IT
函数名 | HAL_I2S_Receive_IT |
---|
函数原形 | HAL_StatusTypeDef HAL_I2S_Receive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) |
功能描述 | 使用中断方式通过 I2S 外设接收数据 |
输入参数 1 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输入参数 2 | pData:指向接收数据的缓冲区 |
输入参数 3 | Size:要接收的数据长度 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.9 HAL_I2S_Transmit_DMA
函数名 | HAL_I2S_Transmit_DMA |
---|
函数原形 | HAL_StatusTypeDef HAL_I2S_Transmit_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) |
功能描述 | 使用 DMA 方式通过 I2S 外设发送数据 |
输入参数 1 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输入参数 2 | pData:指向发送数据的缓冲区 |
输入参数 3 | Size:要发送的数据长度 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.10 HAL_I2S_Receive_DMA
函数名 | HAL_I2S_Receive_DMA |
---|
函数原形 | HAL_StatusTypeDef HAL_I2S_Receive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) |
功能描述 | 使用 DMA 方式通过 I2S 外设接收数据 |
输入参数 1 | hi2s:I2S 句柄,指向一个 I2S_HandleTypeDef 结构体 |
输入参数 2 | pData:指向接收数据的缓冲区 |
输入参数 3 | Size:要接收的数据长度 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
该文档修改记录:
修改时间 | 修改说明 |
---|
2024年4月30日 | 第一次发布,介绍了该博客驱动所有函数的介绍及使用 |
总结
以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。
这篇关于A24 STM32_HAL库函数 之 I2s通用驱动 -- A-- 所有函数的介绍及使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!