📄 rds.h
字号:
#ifndef RDS_H
#define RDS_H
#define AF_FILL_CODE 205 //AF填充码
#define AF_NO_TABLE 224 //无
#define AF_CNT_START 224 //AF频率数量基数
#define AF_1ST_FREQ_START 8760 //单位是10K,实际为87.60M
#define AF_2ND_FREQ_START 8700 //单位是10K,实际为87.00M
#define AF_1ST_TABLE_MAX 204
#define AF_2ND_TABLE_START 206
#define AF_2ND_TABLE_MAX 211
//#define ADC_SMETER_MIN 500 //换台最小信号强度 360
#ifdef LA1844
#define ADC_SMETER_MIN 680//858//340//600//40 //换台最小信号强度 360
#define ADC_SMETER_MIN_FM 680//858//340//460//500
#else
#define ADC_SMETER_MIN 560 //换台最小信号强度 360
#define ADC_SMETER_MIN_FM 450
#endif
#define PTY_COUNT 31
#define AF_SEARCH_DELAY 1000 //1000ms,自动搜台时间间隔
#define DI 2
#define MS 3
#define TA 4
#define TP 10
#define VER 11
//#define TA_DISP 0x0010 //显示TA标记
//#define AF_GET_MAX 0x0020 //当前波段是否TA波段(FM)
//#define PTY_SEEK 0x0080
//#define PTY_FOUND 0x0100
//#define RDS_ACTIVE 0x0200
//#define EON_GET 0x0400
//#define AF_ACTIVE 0x0800
//#define AF_EN 0x1000
//#define AF_SEEK 0x2000
//#define AF_DISP 0x4000
//#define AF_FLASH 0x8000
#define AF_SEEK_DELAY 3 //信号不好时,4S等待
#define TA_SEEK_DELAY 90 //AF启动后,120S开始找TA
//#define USE_AF_SEEK_DELAY
void rds_clear_af(void); //add by robbin
void rds_clear_var(void);
char * rds_get_ct(void);
char * rds_get_ptyn(void);
char * rds_get_ps(void);
void rds_process_group(unsigned int a, unsigned int b, unsigned int c, unsigned int d);
void rds_thread(void);
void rds_af_check(void);
void rds_ta_check(void);
void rds_ta_flash(void);
void rds_af_flash(void);
void rds_clear(void);
void rds_is_ta_freq(void);
void rds_seek_ta(void);
void rds_seek_pty(void);
void rds_disp_radio_text(void);
BYTE rds_get_af_max(UINT16 *ptrAfBuff,BYTE len);
#ifndef __DECL_RDS__
#define __DECL_RDS__
__DECL_RDS__ BYTE rdsEnable;
__DECL_RDS__ UINT16 rdsParam;
__DECL_RDS__ BYTE rdsAFEnable;
__DECL_RDS__ BYTE rdsTAEnable;
__DECL_RDS__ BYTE rdsTPGet;
__DECL_RDS__ BYTE rdsTAGet;
__DECL_RDS__ BYTE rdsTASend;
__DECL_RDS__ BYTE rdsTASeek;
__DECL_RDS__ BYTE rdsAFSeek;
__DECL_RDS__ BYTE rdsPTYSeek;
__DECL_RDS__ BYTE rdsAFFlash;
__DECL_RDS__ BYTE rdsAFActive;
__DECL_RDS__ BYTE rdsActive;
__DECL_RDS__ BYTE rdsAFGetMax;
__DECL_RDS__ BYTE rdsPTYGet;
__DECL_RDS__ BYTE rdsEONGet;
__DECL_RDS__ BYTE afTableBuf[8];
__DECL_RDS__ UINT16 afSignalMeter[8];
__DECL_RDS__ BYTE nCurrentPty;
__DECL_RDS__ BYTE nRadioTextStart;
__DECL_RDS__ BYTE taSeekTimeout;
__DECL_RDS__ UINT16 rds_freq;
__DECL_RDS__ UINT16 maxRdsFreq;
__DECL_RDS__ UINT16 minRdsAfAdc;
#else
BYTE rdsEnable = OFF;
//UINT16 rdsParam = AF_EN; //add by Robbin
//UINT16 rdsParam = 0; //add by Robbin
//rds全局变量
BYTE rdsAFEnable = 1; //是否启用AF,默认启动
BYTE rdsTAEnable = 0; //是否允许TA信号
BYTE rdsTPGet = 0; //是否有TP信号
BYTE rdsTAGet = 0; //是否有TA信号
BYTE rdsTASend = 0; //是否发送TA切换
BYTE rdsTASeek = 0; //是否正在搜索TA中
BYTE rdsAFSeek = 0; //是否启动AF搜索
BYTE rdsPTYSeek = 0; //是否启动PTY搜索
BYTE rdsAFFlash = 0; //AF灯是否闪烁
BYTE rdsAFActive = 0; //是否存在AF
BYTE rdsActive = 0; //是否存在RDS信号
BYTE rdsAFGetMax = 0; //是否获得AF表中最强信号
BYTE rdsPTYGet = 0; //是否获得PTY信号
BYTE rdsEONGet = 0; //是否收到EON信号
BYTE afTableBuf[8]; //频率表,单位:100K
UINT16 afSignalMeter[8]; //每个AF信号强度
BYTE nCurrentPty=0;
BYTE nRadioTextStart=0;
BYTE taSeekTimeout = TA_SEEK_DELAY;
UINT16 rds_freq=0;
UINT16 maxRdsFreq=0;
UINT16 minRdsAfAdc=ADC_SMETER_MIN;
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -