📄 audio.c
字号:
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_Output_Mute(BOOL trueorfalse)
{
if(trueorfalse) // TRUE = Mute
{
if(Vol_OutputChannel_Index == 1)
{
DEV_ADEC_LOUT1Vol_LOUT1VOL(OutputMute);
DEV_ADEC_ROUT1Vol_ROUT1VOL(OutputMute);
}
else
{
DEV_ADEC_LOUT2Vol_LOUT2VOL(OutputMute);
DEV_ADEC_ROUT2Vol_ROUT2VOL(OutputMute);
}
}
else
{
if(Vol_OutputChannel_Index == 1)
{
DEV_ADEC_LOUT1Vol_LOUT1VOL(L_output_vol);
DEV_ADEC_ROUT1Vol_ROUT1VOL(R_output_vol);
}
else
{
DEV_ADEC_LOUT2Vol_LOUT2VOL(L_output_vol);
DEV_ADEC_ROUT2Vol_ROUT2VOL(R_output_vol);
}
}
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Reset *
* Return : None *
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_Reset(void)
{
DEV_ADEC_Reset();
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Set Data Format *
* Return : None *
* Description : Right, Left Justified, I2S, DSP mode select *
*--------------------------------------------------------------------------*/
void API_AUDIO_SetDataFormat(unsigned char select)
{
DEV_ADEC_AudioInterface_FORMAT(select);
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Input Mixer Select *
* Return : None *
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_Input_MixerSelect(unsigned char select)
{
DEV_ADEC_LeftOutMix1_LMIXSEL(select);
DEV_ADEC_RightOutMix1_RMIXSEL(select);
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Input Mic Bias Enable *
* Return : None *
* Description : MIC bias current setting *
*--------------------------------------------------------------------------*/
void API_AUDIO_Input_MicBiasEnable(BOOL trueorfalse)
{ // TRUE = MIC Power On
DEV_ADEC_PwrMgmt1_MICB(trueorfalse);
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Input Mic Boost *
* Return : None *
* Description : record boost the same setting *
*--------------------------------------------------------------------------*/
void API_AUDIO_Input_MicBoost(unsigned char level)
{
DEV_ADEC_AdclPath_LMICBOOST(level);
DEV_ADEC_AdcrPath_RMICBOOST(level);
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Output Mixer Select *
* Return : None *
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_Output_MixerSelect(BOOL dac_mixer)
{
if(dac_mixer) //dac_mixer TRUE = dac, FALSE = mixer
{
DEV_ADEC_LeftOutMix1_LI2LO(FALSE);
DEV_ADEC_RightOutMix2_RI2RO(FALSE);
DEV_ADEC_LeftOutMix1_LD2LO(TRUE);
DEV_ADEC_RightOutMix2_RD2RO(TRUE);
}
else
{
DEV_ADEC_LeftOutMix1_LD2LO(FALSE);
DEV_ADEC_RightOutMix2_RD2RO(FALSE);
DEV_ADEC_LeftOutMix1_LI2LO(TRUE);
DEV_ADEC_RightOutMix2_RI2RO(TRUE);
}
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Output Mixer Gain *
* Return : None *
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_Output_MixerGain(int vol)
{
int gain;
if(vol > 7) gain = 0;
else if(vol < 0) gain = 7;
else gain = 7 - vol;
DEV_ADEC_LeftOutMix1_LI2LOVOL(gain);
DEV_ADEC_LeftOutMix2_RI2LOVOL(gain);
DEV_ADEC_RightOutMix1_LI2ROVOL(gain);
DEV_ADEC_RightOutMix2_RI2ROVOL(gain);
DEV_ADEC_MonoOutMix1_LI2MOVOL(gain);
DEV_ADEC_MonoOutMix2_RI2MOVOL(gain);
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Set Sample Rate *
* Return : None *
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_SetSampleRate(unsigned int Oscillator_freq,unsigned int Sampling_freq)
{
DEV_Audio_SetClockSampleRate(Oscillator_freq, Sampling_freq);
}
/*--------------------------------------------------------------------------*
* Brief : API Audio Input Mute *
* Return : None *
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_Input_Mute( BOOL trueorfalse )
{
if( trueorfalse ) // TRUE = Mute Enable
{
DEV_ADEC_LeftInputVol_LINMUTE( TRUE );
DEV_ADEC_RightInputVol_RINMUTE( TRUE );
}
else
{
DEV_ADEC_LeftInputVol_LINMUTE( TRUE );
DEV_ADEC_RightInputVol_RINMUTE( TRUE );
}
}
/*--------------------------------------------------------------------------*
* Brief : API Audio ACLK Enable *
* Return : None *
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_AclkEnable( BOOL TrueEnable )
{
if( TrueEnable ) GIO_setBit( ACLK_EN ); // TRUE = Enable
else GIO_clearBit( ACLK_EN );
}
/*--------------------------------------------------------------------------*
* Brief : API Audio EQ Setting *
* Return : None *
* Description : *
*--------------------------------------------------------------------------*/
void API_AUDIO_EqSetting( unsigned char mode )
{
switch( mode )
{
case Default:
DEV_ADEC_3dCtrl_3DEN( FALSE );
DEV_ADEC_BassCtrl_BC( FALSE );
DEV_ADEC_BassCtrl_BB( FALSE );
DEV_ADEC_BassCtrl_BASS( 0x0F );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x0F );
break;
case Rock: // rock mode
DEV_ADEC_BassCtrl_BC( FALSE );
DEV_ADEC_BassCtrl_BB( TRUE );
DEV_ADEC_BassCtrl_BASS( 0x04 );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x06 );
DEV_ADEC_3dCtrl_3DLC( FALSE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x05 );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
DEV_ADEC_3dCtrl_3DEN( TRUE );
break;
case Pop: // pop mode
DEV_ADEC_BassCtrl_BC( FALSE );
DEV_ADEC_BassCtrl_BB( FALSE );
DEV_ADEC_BassCtrl_BASS( 0x09 );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x06 );
DEV_ADEC_3dCtrl_3DLC( FALSE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x07 );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
DEV_ADEC_3dCtrl_3DEN( TRUE );
break;
case Jazz: // jazz mode
DEV_ADEC_BassCtrl_BC( TRUE );
DEV_ADEC_BassCtrl_BB( FALSE );
DEV_ADEC_BassCtrl_BASS( 0x03 );
DEV_ADEC_TrebleCtrl_TC( TRUE );
DEV_ADEC_TrebleCtrl_TRBL( 0x04 );
DEV_ADEC_3dCtrl_3DLC( TRUE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x05 );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
DEV_ADEC_3dCtrl_3DEN( TRUE );
break;
case Classical: // classical mode
DEV_ADEC_BassCtrl_BC( FALSE );
DEV_ADEC_BassCtrl_BB( FALSE );
DEV_ADEC_BassCtrl_BASS( 0x0F );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x02 );
DEV_ADEC_3dCtrl_3DLC( FALSE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x03 );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
DEV_ADEC_3dCtrl_3DEN( TRUE );
break;
case Dance: // dance mode
DEV_ADEC_BassCtrl_BC( FALSE );
DEV_ADEC_BassCtrl_BB( TRUE );
DEV_ADEC_BassCtrl_BASS( 0x01 );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x03 );
DEV_ADEC_3dCtrl_3DLC( TRUE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x0C );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
DEV_ADEC_3dCtrl_3DEN( TRUE );
break;
case Heavy: // heavy mode
DEV_ADEC_3dCtrl_3DEN( FALSE );
DEV_ADEC_BassCtrl_BC( FALSE );
DEV_ADEC_BassCtrl_BB( FALSE );
DEV_ADEC_BassCtrl_BASS( 0x03 );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x03 );
DEV_ADEC_3dCtrl_3DLC( FALSE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x00 );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
break;
case Disco: // disco mode
DEV_ADEC_3dCtrl_3DEN( FALSE );
DEV_ADEC_BassCtrl_BC( TRUE );
DEV_ADEC_BassCtrl_BB( TRUE );
DEV_ADEC_BassCtrl_BASS( 0x04 );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x04 );
DEV_ADEC_3dCtrl_3DLC( FALSE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x00 );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
break;
case Soft: // soft mode
DEV_ADEC_3dCtrl_3DEN( FALSE );
DEV_ADEC_BassCtrl_BC( TRUE );
DEV_ADEC_BassCtrl_BB( TRUE );
DEV_ADEC_BassCtrl_BASS( 0x04 );
DEV_ADEC_TrebleCtrl_TC( TRUE );
DEV_ADEC_TrebleCtrl_TRBL( 0x0A );
DEV_ADEC_3dCtrl_3DLC( FALSE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x00 );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
break;
case Live: // live mode
DEV_ADEC_BassCtrl_BC( FALSE );
DEV_ADEC_BassCtrl_BB( FALSE );
DEV_ADEC_BassCtrl_BASS( 0x0F );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x0F );
DEV_ADEC_3dCtrl_3DLC( FALSE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x0B );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
DEV_ADEC_3dCtrl_3DEN( TRUE );
break;
case Hall: // hall mode
DEV_ADEC_BassCtrl_BC( FALSE );
DEV_ADEC_BassCtrl_BB( FALSE );
DEV_ADEC_BassCtrl_BASS( 0x04 );
DEV_ADEC_TrebleCtrl_TC( FALSE );
DEV_ADEC_TrebleCtrl_TRBL( 0x02 );
DEV_ADEC_3dCtrl_3DLC( FALSE );
DEV_ADEC_3dCtrl_3DUC( FALSE );
DEV_ADEC_3dCtrl_3DDEPTH( 0x0B );
DEV_ADEC_3dCtrl_MODE3D( TRUE );
DEV_ADEC_3dCtrl_3DEN( TRUE );
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -