typedef struct __SAI_HandleTypeDef
{
SAI_Block_TypeDef *Instance;
SAI_InitTypeDef Init;
SAI_FrameInitTypeDef FrameInit;
SAI_SlotInitTypeDef SlotInit;
uint8_t *pBuffPtr;
uint16_t XferSize;
uint16_t XferCount;
DMA_HandleTypeDef *hdmatx;
DMA_HandleTypeDef *hdmarx;
SAIcallback mutecallback;
void (*InterruptServiceRoutine)(struct __SAI_HandleTypeDef *hsai);
HAL_LockTypeDef Lock;
__IO HAL_SAI_StateTypeDef State;
__IO uint32_t ErrorCode;
#if (USE_HAL_SAI_REGISTER_CALLBACKS == 1)
void (*RxCpltCallback)(struct __SAI_HandleTypeDef *hsai);
void (*RxHalfCpltCallback)(struct __SAI_HandleTypeDef *hsai);
void (*TxCpltCallback)(struct __SAI_HandleTypeDef *hsai);
void (*TxHalfCpltCallback)(struct __SAI_HandleTypeDef *hsai);
void (*ErrorCallback)(struct __SAI_HandleTypeDef *hsai);
void (*MspInitCallback)(struct __SAI_HandleTypeDef *hsai);
void (*MspDeInitCallback)(struct __SAI_HandleTypeDef *hsai);
#endif
} SAI_HandleTypeDef;