📄 fm_utile.c
字号:
/****************************
* mp3_utile.c
****************************/
#include <string.h>
#include "api.h"
#include "lcd.h"
#include "common.h"
#include "display.h"
#include "fm_display.h"
#include "fm_main.h"
#include "prefer.h"
#include "fm_tea5767.h"
void vSaveStationTabToFlash()
{
tUserPreference.Fm_StationTable[tUserPreference.Fm_StationCurrSaveOrder] = u16RadioFrequency;
tUserPreference.Fm_StationCurrSaveOrder++;
if (tUserPreference.Fm_StationTotalSaveNum < 20) //Fm_StationTotalNum为保存的电台总数,范围为0-20而不是0-19
tUserPreference.Fm_StationTotalSaveNum = tUserPreference.Fm_StationCurrSaveOrder;
if (tUserPreference.Fm_StationCurrSaveOrder>19)
{
tUserPreference.Fm_StationCurrSaveOrder = 0;
tUserPreference.Fm_StationTotalSaveNum = 20;
}
api_bSavePreferenceData(&tUserPreference,sizeof(USER_PREFERENCE_T));
}
void vReadStationTabFromFlash()
{
INT8U i;
for(i = 0;i<tUserPreference.Fm_StationTotalSaveNum;i++)
{
if(tUserPreference.Fm_StationTable[i] > FM_FREQ_MAX)
tUserPreference.Fm_StationTable[i] = FM_FREQ_MIN;
if(tUserPreference.Fm_StationTable[i] < FM_FREQ_MIN)
tUserPreference.Fm_StationTable[i] = FM_FREQ_MAX;
}
u16RadioFrequency = tUserPreference.Fm_StationTable[tUserPreference.Fm_StationCurrPlayOrder];
if (tUserPreference.Fm_StationCurrPlayOrder >= tUserPreference.Fm_StationTotalSaveNum-1)
tUserPreference.Fm_StationCurrPlayOrder = 0;
else
tUserPreference.Fm_StationCurrPlayOrder++;
}
void vDeleteCurrStation()
{
INT8U i;
if(tUserPreference.Fm_StationTotalSaveNum == 0)
{
tUserPreference.Fm_StationCurrSaveOrder = 0;
return;
}
for(i=tUserPreference.Fm_StationCurrPlayOrder;i<tUserPreference.Fm_StationTotalSaveNum;)
tUserPreference.Fm_StationTable[i] = tUserPreference.Fm_StationTable[++i];
tUserPreference.Fm_StationTotalSaveNum--;
}
void vDeleteAllStation()
{
tUserPreference.Fm_StationCurrPlayOrder = 0;
tUserPreference.Fm_StationCurrSaveOrder = 0;
tUserPreference.Fm_StationTotalSaveNum = 0;
}
#if 0// marco mark for fm auto search bug
void autosearch()
{
u16RadioFrequency = FM_FREQ_MIN;
vDeleteAllStation();//删除所有电台
close_volume();
ui_draw1();
while(u16RadioFrequency < FM_FREQ_MAX)
{
if(bFmAutoSearch(SEARCH_UP))
vSaveStationTabToFlash();
bFmFrequenceyDownNarrow();
gfx_radio_freq();
}
tUserPreference.Fm_StationCurrPlayOrder= 0;
vReadStationTabFromFlash();
bSetFmFrequency(u16RadioFrequency);
gfx_Disp_StationOrder();
gfx_radio_freq();
close_volume();
init_volume();
}
#else
void autosearch()
{
u16RadioFrequency = FM_FREQ_MIN;
vDeleteAllStation();//删除所有电台
close_volume();
ui_draw();
while(u16RadioFrequency < FM_FREQ_MAX)
{
if(bFmFrequencyUp())
{
bFmFrequenceyDownNarrow();
gfx_radio_freq();
}
if(bFmSearchRead())
{
vSaveStationTabToFlash();
//gfx_Disp_StationOrder_all();
}
bFmFrequenceyDownNarrow();
gfx_radio_freq();
if(u16RadioFrequency == FM_FREQ_MIN)
break;
}
if(tUserPreference.Fm_StationTotalSaveNum != 0)
{
tUserPreference.Fm_StationCurrPlayOrder= 0;
vReadStationTabFromFlash();
}
else
{
u16RadioFrequency = FM_FREQ_MIN;
}
bSetFmFrequency(u16RadioFrequency);
gfx_Disp_StationOrder();
gfx_radio_freq();
// close_volume();
init_volume();
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -