📄 radio_tuner.h
字号:
#include "Libr.h"
#include "Sys_config.h"
#define LC72131_IN1_ADDR 0x28
#define LC72131_IN2_ADDR 0x29
#define LC72131_OUT_ADDR 0x2a
#define FM_BAND 0
#define AM_BAND 1
#define FMFREQ_MAX 10800
#define FMFREQ_MIN 8750
#ifdef AM_step_10K
#define AMFREQ_MAX 1640
#define AMFREQ_MIN 520
#endif
#ifdef AM_step_9K
#define AMFREQ_MAX 1621
#define AMFREQ_MIN 522
#endif
#define IN1_FM_INIT 0x3a0000
#ifdef AM_step_9K
#define IN1_AM_INIT 0x980000
#endif
#ifdef AM_step_10K
#define IN1_AM_INIT 0x880000
#endif
#define IN2_DATA_INIT 0x113003
#define SELECT_FM (1 << 7)
#define IO2_UNMUTE (1 << 3)
#define IO1_DX (1 << 2)
#define BO3_ST (1 << 6)
#define BO2_MW (1 << 5)
#define RADIO_IN1_CTE 0x040000
#define RADIO_IN2_DOC 0x0400
#define RADIO_IN2_RESET 0x080000
#define RADIO_OUT_LOCK 0x100000
#define RADIO_OUT_ST 0x800000
#define STEREO 0
#define MONO 1
#define LOC 0
#define DX 1
#define AUTOSRCH_STEP0 0
#define AUTOSRCH_STEP1 1
#define AUTOSRCH_STEP2 2
#define AUTOSRCH_STEP3 3
#define IF_REPEAT_DETECT 4
#define FM_IFFREQ 0x14e60//0xa730
#define AM_IFFREQ 0xe10
#define FM_IFFREQ_MARGIN 0x14
#define AM_IFFREQ_MARGIN 0x6
#define FM_freq_step 5
#ifdef AM_step_10K
#define AM_freq_step 10
#endif
#ifdef AM_step_9K
#define AM_freq_step 9
#endif
enum tuner_search_states
{
TUNER_SEARCH_NONE,
TUNER_SEARCH_RUN
};
enum {
TUNER_SEARCH_TYPE_NONE=0,
TUNER_SEARCH_TYPE_DOWN,
TUNER_SEARCH_TYPE_SEEK_DOWN,
TUNER_SEARCH_TYPE_SEEK_UP
};
enum
{//am or fm1 or fm2
TUNER_TYPE_AM=0,
TUNER_TYPE_FM,
};
//Define the tuner's every bit's flag's function
enum
{
MonoStereo_flag,
LocDx_flag,
AutoSearchOK_flag,
PrevNextSearch_Flag,
Tuner_repeat_key_flag,
IFOK_flag,
Search_full_mode,
};
#define SET_CCB_STROBE SetBit(PA_DR,PLL_CE)
#define CLEAR_CCB_STROBE ClrBit(PA_DR,PLL_CE)
#define SET_CCB_CLK SetBit(PA_DR,PLL_CL)
#define CLEAR_CCB_CLK ClrBit(PA_DR,PLL_CL)
#define SET_CCB_DATA SetBit(PA_DR,PLL_DI)
#define CLEAR_CCB_DATA ClrBit(PA_DR,PLL_DI)
#define IS_PLL_DO_HIGH ValBit(PA_DR,PLL_DO)
#define RADIO_SD_HIGH ValBit(PE_DR,TUN_SD)
extern unsigned char TunerType;
extern unsigned char Radio_tuner_flag;
extern unsigned short int FMfreq;
extern unsigned short int AMfreq;
extern unsigned short int FM_frequence_list[30];
extern unsigned short int AM_frequence_list[30];
extern signed char Radio_channel_high_light_cnt;
extern unsigned char Radio_channel_list_cnt;
extern unsigned char CurrentBand;
extern unsigned char ChannelNum;
extern void Radio_tuner(void);
extern void Init_lc72131(void);
extern void Radio_tuner_search_key_process(void);
extern void Radio_search_next_process(void);
extern void Radio_search_previous_process(void);
extern void Switch_FM_AM(void);
extern void Force_to_full_search_mode(void);
extern void Force_to_M1_channel(void);
extern void Force_to_M2_channel(void);
extern void Force_to_M3_channel(void);
extern void Force_to_M4_channel(void);
extern void Force_to_M5_channel(void);
extern void Force_to_M6_channel(void);
extern void Radio_tuner_up_step_search(void);
extern void Radio_tuner_down_step_search(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -