STM32H750XB_RT-THREAD/38-SAI—音频/SAI—MP3播放器/User/sai/bsp_sai.h
2025-07-21 14:34:29 +08:00

49 lines
1.9 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _BSP_SAI_H
#define _BSP_SAI_H
#include "stm32h7xx.h"
/**SAI1_A_Block_A GPIO Configuration
PE5 ------> SAI1_SCK_A/WM8978_BCLK
PE4 ------> SAI1_FS_A/WM8978_LRC
PE6 ------> SAI1_SD_A/WM8978_DACDAT/ADCDAT
PE2 ------> SAI1_MCLK_A/WM8978_MCLK
*/
#define SAI_LRC_PIN GPIO_PIN_4
#define SAI_LRC_PORT GPIOE
#define SAI_LRC_GPIO_CLK_ENABLE() __GPIOE_CLK_ENABLE()
#define SAI_LRC_GPIO_AF GPIO_AF6_SAI1
#define SAI_BCLK_PIN GPIO_PIN_5
#define SAI_BCLK_PORT GPIOE
#define SAI_BCLK_GPIO_CLK_ENABLE() __GPIOE_CLK_ENABLE()
#define SAI_BCLK_GPIO_AF GPIO_AF6_SAI1
#define SAI_SDA_PIN GPIO_PIN_6
#define SAI_SDA_PORT GPIOE
#define SAI_SDA_GPIO_CLK_ENABLE() __GPIOE_CLK_ENABLE()
#define SAI_SDA_GPIO_AF GPIO_AF6_SAI1
#define SAI_MCLK_PIN GPIO_PIN_2
#define SAI_MCLK_PORT GPIOE
#define SAI_MCLK_GPIO_CLK_ENABLE() __GPIOE_CLK_ENABLE()
#define SAI_MCLK_GPIO_AF GPIO_AF6_SAI1
#define SAIx_Block_A SAI1_Block_A
#define SAI_CLK_ENABLE() __HAL_RCC_SAI1_CLK_ENABLE();
#define DMA_Instance DMA1_Stream2
#define DMA_IRQn DMA1_Stream2_IRQn
#define DMA_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE();
extern void (*SAI_DMA_TX_Callback)(void); //I2S DMA TX»Øµ÷º¯ÊýÖ¸Õë
void I2Sx_TX_DMA_STREAM_IRQFUN(void);
void SAI_GPIO_Config(void);
void SAI_Play_Stop(void);
void SAI_Play_Start(void);
void SAIxA_Tx_Config(const uint16_t _usStandard, const uint16_t _usWordLen, const uint32_t _usAudioFreq);
void SAIA_TX_DMA_Init(uint32_t buffer0,uint32_t buffer1,const uint32_t num);
#endif /* _BSP_SAI_H */