|
STM32G474xx HAL用户手册
|
FMAC HAL模块驱动程序。本文件提供固件函数用于管理FMAC外设的以下功能:+ 初始化和反初始化函数+ 外设控制函数+ 回调函数+ IRQ处理程序管理+ 外设状态和错误函数。 更多...
#include "stm32g4xx_hal.h"宏定义 | |
| #define | MAX_FILTER_DATA_SIZE_TO_HANDLE ((uint16_t) 0xFFU) |
| #define | MAX_PRELOAD_INDEX 0xFFU |
| #define | PRELOAD_ACCESS_DMA 0x00U |
| #define | PRELOAD_ACCESS_POLLING 0x01U |
| #define | POLLING_DISABLED 0U |
| #define | POLLING_ENABLED 1U |
| #define | POLLING_NOT_STOPPED 0U |
| #define | POLLING_STOPPED 1U |
| #define | HAL_FMAC_TIMEOUT_VALUE 1000U |
| #define | HAL_FMAC_RESET_TIMEOUT_VALUE 500U |
| #define | FMAC_DMA_REN FMAC_CR_DMAREN |
| #define | FMAC_DMA_WEN FMAC_CR_DMAWEN |
| #define | FMAC_START FMAC_PARAM_START |
| #define | FMAC_GET_X1_SIZE(__HANDLE__) ((((__HANDLE__)->Instance->X1BUFCFG) & (FMAC_X1BUFCFG_X1_BUF_SIZE)) >> (FMAC_X1BUFCFG_X1_BUF_SIZE_Pos)) |
| 获取X1内存区域大小。 | |
| #define | FMAC_GET_X1_FULL_WM(__HANDLE__) (((__HANDLE__)->Instance->X1BUFCFG) & (FMAC_X1BUFCFG_FULL_WM)) |
| 获取X1水印。 | |
| #define | FMAC_GET_X2_SIZE(__HANDLE__) ((((__HANDLE__)->Instance->X2BUFCFG) & (FMAC_X2BUFCFG_X2_BUF_SIZE)) >> (FMAC_X2BUFCFG_X2_BUF_SIZE_Pos)) |
| 获取X2内存区域大小。 | |
| #define | FMAC_GET_Y_SIZE(__HANDLE__) ((((__HANDLE__)->Instance->YBUFCFG) & (FMAC_YBUFCFG_Y_BUF_SIZE)) >> (FMAC_YBUFCFG_Y_BUF_SIZE_Pos)) |
| 获取Y内存区域大小。 | |
| #define | FMAC_GET_Y_EMPTY_WM(__HANDLE__) (((__HANDLE__)->Instance->YBUFCFG) & (FMAC_YBUFCFG_EMPTY_WM)) |
| 获取Y水印。 | |
| #define | FMAC_GET_START_BIT(__HANDLE__) ((((__HANDLE__)->Instance->PARAM) & (FMAC_PARAM_START)) >> (FMAC_PARAM_START_Pos)) |
| 获取起始位状态。 | |
| #define | FMAC_GET_THRESHOLD_FROM_WM(__WM__) |
| 获取与水印匹配的阈值。 | |
函数 | |
| static HAL_StatusTypeDef | FMAC_Reset (FMAC_HandleTypeDef *hfmac) |
| ============================================================================== ##### FMAC私有函数 ##### ============================================================================== | |
| static void | FMAC_ResetDataPointers (FMAC_HandleTypeDef *hfmac) |
| 重置FMAC单元的数据指针。 | |
| static void | FMAC_ResetOutputStateAndDataPointers (FMAC_HandleTypeDef *hfmac) |
| 重置FMAC单元的输出数据指针。 | |
| static void | FMAC_ResetInputStateAndDataPointers (FMAC_HandleTypeDef *hfmac) |
| 重置FMAC单元的输入数据指针。 | |
| static HAL_StatusTypeDef | FMAC_FilterConfig (FMAC_HandleTypeDef *hfmac, FMAC_FilterConfigTypeDef *pConfig, uint8_t PreloadAccess) |
| 配置FMAC滤波器。 | |
| static HAL_StatusTypeDef | FMAC_FilterPreload (FMAC_HandleTypeDef *hfmac, int16_t *pInput, uint8_t InputSize, int16_t *pOutput, uint8_t OutputSize, uint8_t PreloadAccess) |
| 预加载FMAC滤波器的输入(FIR、IIR)和输出(IIR)数据。 | |
| static void | FMAC_WritePreloadDataIncrementPtr (FMAC_HandleTypeDef *hfmac, int16_t **ppData, uint8_t Size) |
| 通过WDATA将数据写入FMAC内部存储器,并递增输入缓冲区指针。 | |
| static HAL_StatusTypeDef | FMAC_WaitOnStartUntilTimeout (FMAC_HandleTypeDef *hfmac, uint32_t Tickstart, uint32_t Timeout) |
| 处理FMAC函数超时。 | |
| static HAL_StatusTypeDef | FMAC_AppendFilterDataUpdateState (FMAC_HandleTypeDef *hfmac, int16_t *pInput, uint16_t *pInputSize) |
| 注册新的输入缓冲区,根据需要更新DMA配置,并更改FMAC状态。 | |
| static HAL_StatusTypeDef | FMAC_ConfigFilterOutputBufferUpdateState (FMAC_HandleTypeDef *hfmac, int16_t *pOutput, uint16_t *pOutputSize) |
| 注册新的输出缓冲区,根据需要更新DMA配置,并更改FMAC状态。 | |
| static void | FMAC_WriteDataIncrementPtr (FMAC_HandleTypeDef *hfmac, uint16_t MaxSizeToWrite) |
| 写入可用的输入数据直到X1 FULL置位。 | |
| static void | FMAC_ReadDataIncrementPtr (FMAC_HandleTypeDef *hfmac, uint16_t MaxSizeToRead) |
| 读取可用的输出数据直到Y EMPTY置位。 | |
| static void | FMAC_DMAHalfGetData (DMA_HandleTypeDef *hdma) |
| DMA FMAC输入数据处理半完成回调。 | |
| static void | FMAC_DMAGetData (DMA_HandleTypeDef *hdma) |
| DMA FMAC输入数据处理完成回调。 | |
| static void | FMAC_DMAHalfOutputDataReady (DMA_HandleTypeDef *hdma) |
| DMA FMAC输出数据处理半完成回调。 | |
| static void | FMAC_DMAOutputDataReady (DMA_HandleTypeDef *hdma) |
| DMA FMAC输出数据处理完成回调。 | |
| static void | FMAC_DMAFilterConfig (DMA_HandleTypeDef *hdma) |
| DMA FMAC滤波器配置处理完成回调。 | |
| static void | FMAC_DMAFilterPreload (DMA_HandleTypeDef *hdma) |
| DMA FMAC滤波器配置处理完成回调。 | |
| static void | FMAC_DMAError (DMA_HandleTypeDef *hdma) |
| DMA FMAC通信错误回调。 | |
| HAL_StatusTypeDef | HAL_FMAC_Init (FMAC_HandleTypeDef *hfmac) |