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

📄 radio.h

📁 提供收音模块的操作代码.可以操作各种收音模块
💻 H
字号:
/**
 * @file radio.h
 * @brief radio driver header file
 * This file provides radio APIs: radio initialization,
 * play radio, etc..
 * @date 2005-03-07
 * @version 1.0
 */

#ifndef __RADIO_H__
#define __RADIO_H__

#include "akdefine.h"

typedef enum {
	RADIO_EUROPE = 0,
	RADIO_JAPAN,
	RADIO_AMERICA
}T_RADIO_AREA;

#if (RADIO_TYPE == 0)

typedef struct{
    T_BOOL      ReadyFlag;		//1:find a station or freq reach band limit  0:not find a station
    T_BOOL      LimitFlag;		//1:reach the band limit		0:not reach band limit
    T_U32       CurFreq;
    T_U8        IFCounter;
    T_U8        AdcLevel;		//adc level set:0~15
    T_BOOL      Stereo;         //stereo indicator   1:stereo  0: mono
}T_RADIO_STATUS;

typedef struct{
    T_BOOL  	    MuteFlag;   	//1:mute  0:not mute
    T_BOOL  	    SearchFlag;		//1:in search mode	0:not search
    T_BOOL  	    SearchDir;		//1:search up  0:search down
    T_BOOL		    MonoStereo;		//1:mono		0:stereo
    T_U32  	  	    Freq;			//
    T_U8    	    StopLevel;		//0~3	if not in search mode, 0 is not allowed
    T_BOOL          BandLimit;      // 1: japan FM band    0:us/europe FM band
}T_RADIO_PARM;

typedef struct {
    T_U32       FreqMin;
    T_U32       FreqMax;
    T_U32       FreqIf;      //中频
    T_U32       FreqRef;     //参考频率
    T_U32       FreqStep;    //步长或波宽
}T_RADIO_AREA_PARM;

const T_RADIO_AREA_PARM RadioAreaParam[MAX_RADIO_AREA];

T_BOOL radio_check(T_VOID);

T_BOOL radio_init(T_U32 Freq, T_RADIO_AREA RadioArea);

#elif (RADIO_TYPE == 1)

typedef struct{
    T_BOOL      ReadyFlag;		//1:find a station or freq reach band limit  0:not find a station
    T_BOOL      LimitFlag;		//1:reach the band limit		0:not reach band limit
    T_U32       CurFreq;
    T_U8        IFCounter;
    T_U8        AdcLevel;		//adc level set:0~15
    T_BOOL      Stereo;         //stereo indicator   1:stereo  0: mono
    T_BOOL      SearchOk;       //1:search success   0:search fail
    T_U16       Rssi;           //for rda5800 mean the channel signal intensity
}T_RADIO_STATUS;

typedef struct{
    T_BOOL  	    MuteFlag;   	//1:mute  0:not mute
    T_BOOL  	    SearchFlag;		//1:in search mode	0:not search
    T_BOOL  	    SearchDir;		//1:search up  0:search down
    T_BOOL		    MonoStereo;		//1:mono		0:stereo
    T_U32  	  	    Freq;			//
    T_U8    	    StopLevel;		//for rea5800 0~0x3f rssi threshold
    T_BOOL          BandLimit;      // 1: japan FM band    0:us/europe FM band
    T_U32           FreqStep;       //for rda5800 only can be 50k, 100k, 200k
    T_U8            Volume;
}T_RADIO_PARM;

typedef struct{
    T_RADIO_AREA    Area;
    T_U32           FreqStep;
    T_U8            Rssi;
    T_U16           Volume;
}T_RADIO_INIT;

typedef struct {
    T_U32       FreqMin;
    T_U32       FreqMax;
    T_U32       FreqIf;      //中频
    T_U32       FreqRef;     //参考频率
    T_U32       FreqStep;    //步长或波宽
}T_RADIO_AREA_PARM;

const T_RADIO_AREA_PARM RadioAreaParam[MAX_RADIO_AREA];

T_BOOL radio_check(T_VOID);

T_BOOL radio_init(T_RADIO_INIT Init);

#endif

T_BOOL radio_get_status(T_RADIO_STATUS *Status, T_U32 FreqMin, T_U32 FreqMax);

T_BOOL radio_set_param (T_RADIO_PARM *Param);

T_BOOL radio_exit(T_VOID);

T_VOID radio_line_in(T_BOOL enable);

T_VOID radio_read(T_U8 *DataTmp);

#endif
/* end of __RADIO_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -