📄 radio_tuner.c
字号:
ClrBit(Radio_tuner_flag,Search_full_mode);
Force_to_M1_channel();
}
}
}
break;
}
}
/****************************************************************
Function:
****************************************************************/
void Tuner_IFok(void)
{
switch(CurrentBand)
{
case AM_BAND:
if(RADIO_SD_HIGH )
if( ((RadioOutData & 0xfffff) < (AM_IFFREQ + AM_IFFREQ_MARGIN)) &&
((RadioOutData & 0xfffff) >( AM_IFFREQ - AM_IFFREQ_MARGIN)))
SetBit(Radio_tuner_flag,IFOK_flag); //bIFOK = 1;
break;
default:
if(RADIO_SD_HIGH )
if( ((RadioOutData & 0xfffff) <(FM_IFFREQ + FM_IFFREQ_MARGIN)) &&
((RadioOutData & 0xfffff) >( FM_IFFREQ - FM_IFFREQ_MARGIN)))
SetBit(Radio_tuner_flag,IFOK_flag); //bIFOK = 1;
break;
}
}
/******************************************************************
Function:
******************************************************************/
void Radio_tuner(void)
{
if(System_mode != Radio_mode)
return;
if(!ValBit(Radio_tuner_flag,AutoSearchOK_flag) && (TunerSearchStates==TUNER_SEARCH_RUN))
Tuner_autosearch();
}
void Radio_tuner_search_key_process(void)
{
if(ValBit(Radio_tuner_flag,AutoSearchOK_flag))
{
ClrBit(Radio_tuner_flag,AutoSearchOK_flag); //Start to search
asm nop;
TunerSearchStates= TUNER_SEARCH_RUN;
AutoSearchStep = AUTOSRCH_STEP0;
ClrBit(Radio_tuner_flag,IFOK_flag);
High_light_current_function_item_picture();
System_mute_on();
}
else
{
asm nop;
SetBit(Radio_tuner_flag,AutoSearchOK_flag); //Stop to search
TunerSearchStates= TUNER_SEARCH_NONE;
Default_light_current_function_item_picture();
System_mute_off();
}
AutoSearchStep = AUTOSRCH_STEP0;
}
void Radio_search_next_process(void)
{
System_mute_on();
Item_function_on_check_hight_default_light_item();
if(ChannelNum < 29)
{
ChannelNum++;
Radio_channel_high_light_cnt++;
if(Radio_channel_high_light_cnt >5 )
Radio_channel_high_light_cnt = 0;
}
else
{
ChannelNum = 0;
Radio_channel_high_light_cnt = 0;
}
Radio_channel_list_cnt = ChannelNum/6;
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AM_frequence_list[ChannelNum];
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FM_frequence_list[ChannelNum];
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
System_mute_off();
}
void Radio_search_previous_process(void)
{
System_mute_on();
Item_function_on_check_hight_default_light_item();
if(ChannelNum != 0)
{
ChannelNum--;
Radio_channel_high_light_cnt--;
if(Radio_channel_high_light_cnt < 0 )
Radio_channel_high_light_cnt = 5;
}
else
{
ChannelNum = 29;
Radio_channel_high_light_cnt = 5;
}
Radio_channel_list_cnt = ChannelNum/6;
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AM_frequence_list[ChannelNum];
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FM_frequence_list[ChannelNum];
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
System_mute_off();
}
void Switch_FM_AM(void)
{
System_mute_on();
SetBit(Radio_tuner_flag,AutoSearchOK_flag); //Stop to search
Item_function_on_check_hight_default_light_item();
if(CurrentBand == AM_BAND)
{
CurrentBand = FM_BAND;
TunerType = TUNER_TYPE_FM;
}
else
{
CurrentBand = AM_BAND;
TunerType = TUNER_TYPE_AM;
}
Init_lc72131();
WAIT_100ms();
WAIT_100ms();
System_mute_off();
}
void Force_to_full_search_mode(void)
{
System_mute_on();
High_light_current_function_item_picture();
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AMFREQ_MIN;
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FMFREQ_MIN;
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
SetBit(Radio_tuner_flag,AutoSearchOK_flag);
SetBit(Radio_tuner_flag,Search_full_mode);
SetBit(System_flag,bSearchDir); //From the min to them max(8750~1080)
ChannelNum = 0;
System_mute_off();
}
void Force_to_M1_channel(void)
{
System_mute_on();
ClrBit(Radio_tuner_flag,Search_full_mode); //Now search mode is one channel search mode
Radio_channel_high_light_cnt = 0;
ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AM_frequence_list[Radio_channel_list_cnt *6];
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FM_frequence_list[Radio_channel_list_cnt *6];
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
System_mute_off();
}
void Force_to_M2_channel(void)
{
System_mute_on();
ClrBit(Radio_tuner_flag,Search_full_mode); //Now search mode is one channel search mode
Radio_channel_high_light_cnt = 1;
ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+1];
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+1];
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
System_mute_off();
}
void Force_to_M3_channel(void)
{
System_mute_on();
ClrBit(Radio_tuner_flag,Search_full_mode); //Now search mode is one channel search mode
Radio_channel_high_light_cnt = 2;
ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+2];
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+2];
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
System_mute_off();
}
void Force_to_M4_channel(void)
{
System_mute_on();
ClrBit(Radio_tuner_flag,Search_full_mode); //Now search mode is one channel search mode
Radio_channel_high_light_cnt = 3;
ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+3];
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+3];
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
System_mute_off();
}
void Force_to_M5_channel(void)
{
System_mute_on();
ClrBit(Radio_tuner_flag,Search_full_mode); //Now search mode is one channel search mode
Radio_channel_high_light_cnt = 4;
ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+4];
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+4];
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
System_mute_off();
}
void Force_to_M6_channel(void)
{
System_mute_on();
ClrBit(Radio_tuner_flag,Search_full_mode); //Now search mode is one channel search mode
Radio_channel_high_light_cnt = 5;
ChannelNum = Radio_channel_list_cnt*6 + Radio_channel_high_light_cnt;
if(TunerType==TUNER_TYPE_AM)
{
AMfreq =AM_frequence_list[Radio_channel_list_cnt *6+5];
RadioIn1Data = (RadioIn1Data & 0xff0000) |(((AMfreq + 10710) /AM_freq_step) << 4 );
}
else
{
FMfreq = FM_frequence_list[Radio_channel_list_cnt *6+5];
RadioIn1Data = (RadioIn1Data & 0xff0000) |((FMfreq+1070) / 5);
}
Send_data_to_ccb(LC72131_IN1_ADDR, RadioIn1Data, 24);
Unmute_bo2port();
System_mute_off();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -