STM32G474xx HAL用户手册
宏定义 | 函数
stm32g4xx_hal_fmac.c文件参考

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)
&#