⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drvi2s.c

📁 cortex-m0 LCD1602程序
💻 C
📖 第 1 页 / 共 4 页
字号:
}

/*---------------------------------------------------------------------------------------------------------*/
/* 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 + -