📄 drvi2s.c
字号:
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_DisableRx */
/* */
/* Parameters: */
/* None */
/* */
/* Returns: */
/* None */
/* */
/* Description: */
/* Disable I2S Rx function */
/*---------------------------------------------------------------------------------------------------------*/
void DrvI2S_DisableRx(void)
{
I2S->I2SCON.TXEN = 0;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_EnableTxMute */
/* */
/* Parameters: */
/* None */
/* */
/* Returns: */
/* None */
/* */
/* Description: */
/* Enable Tx Mute function */
/*---------------------------------------------------------------------------------------------------------*/
void DrvI2S_EnableTxMute(void)
{
I2S->I2SCON.MUTE = 1;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_DisableTxMute */
/* */
/* Parameters: */
/* None */
/* */
/* Returns: */
/* None */
/* */
/* Description: */
/* Disable Tx Mute function */
/*---------------------------------------------------------------------------------------------------------*/
void DrvI2S_DisableTxMute(void)
{
I2S->I2SCON.MUTE = 0;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_EnableMCLK */
/* */
/* Parameters: */
/* None */
/* */
/* Returns: */
/* None */
/* */
/* Description: */
/* Enable MCLK (Master Clock) and output signal */
/*---------------------------------------------------------------------------------------------------------*/
void DrvI2S_EnableMCLK(void)
{
I2S->I2SCON.MCLKEN = 1;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_DisableMCLK */
/* */
/* Parameters: */
/* None */
/* */
/* Returns: */
/* None */
/* */
/* Description: */
/* Disable MCLK (Master Clock) and output signal */
/*---------------------------------------------------------------------------------------------------------*/
void DrvI2S_DisableMCLK(void)
{
I2S->I2SCON.MCLKEN = 0;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_ClearTxFIFO */
/* */
/* Parameters: */
/* None */
/* Returns: */
/* None */
/* */
/* Description: */
/* Clear Tx FIFO. Internal pointer is reset to FIFO start point */
/*---------------------------------------------------------------------------------------------------------*/
void DrvI2S_ClearTxFIFO(void)
{
I2S->I2SCON.CLR_TXFIFO = 1;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_ClearRxFIFO */
/* */
/* Parameters: */
/* None */
/* Returns: */
/* None */
/* */
/* Description: */
/* Clear Rx FIFO. Internal pointer is reset to FIFO start point */
/*---------------------------------------------------------------------------------------------------------*/
void DrvI2S_ClearRxFIFO(void)
{
I2S->I2SCON.CLR_RXFIFO = 1;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_SelectClockSource */
/* */
/* Parameters: */
/* u8ClkSrcSel - [in] DRVI2S_EXT_12M/DRVI2S_PLL/DRVI2S_HCLK/DRVI2S_INTERNAL_22M */
/* */
/* Returns: */
/* None */
/* */
/* Description: */
/* This function is used to select I2S clock source */
/*---------------------------------------------------------------------------------------------------------*/
void DrvI2S_SelectClockSource(uint8_t u8ClkSrcSel)
{
SYSCLK->CLKSEL2.I2S_S = u8ClkSrcSel;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_GetSourceClockFreq */
/* */
/* Parameters: */
/* None */
/* */
/* Returns: */
/* I2S source clock frequency (Hz) */
/* */
/* Description: */
/* This function is used to get I2S source clock frequency. */
/*---------------------------------------------------------------------------------------------------------*/
uint32_t DrvI2S_GetSourceClockFreq(void)
{
uint8_t u8ClkSrcSel;
uint32_t u32Freq = __XTAL;
u8ClkSrcSel = SYSCLK->CLKSEL2.I2S_S;
switch (u8ClkSrcSel)
{
case DRVI2S_EXT_12M:
u32Freq = __XTAL;
break;
case DRVI2S_PLL:
u32Freq = DrvSYS_GetPLLClockFreq();
break;
case DRVI2S_HCLK:
u32Freq = SystemCoreClock;
break;
case DRVI2S_INTERNAL_22M:
u32Freq = __IRC22M;
break;
}
return u32Freq;
}
/*---------------------------------------------------------------------------------------------------------*/
/* Function: DrvI2S_GetVersion */
/* */
/* Parameters: */
/* None */
/* */
/* Returns: */
/* The DrvI2S version number */
/* */
/* Description: */
/* This function is used to get the DrvI2S version number */
/*---------------------------------------------------------------------------------------------------------*/
uint32_t DrvI2S_GetVersion(void)
{
return DRVI2S_VERSION_NUM;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -