⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rds.h

📁 lc72130.收音机软件 #include "saa6588.c" #include "ba1924.c"
💻 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 + -