?? fm.h
字號:
/****************************************************************************/
/* MODULE: */
/*
FM.h
*/
/****************************************************************************/
/*
* TCC Version 0.0
* Copyright (c) telechips, Inc.
* ALL RIGHTS RESERVED
*/
/****************************************************************************/
//dddxxx
#include "tcc760.h"
#ifdef RADIO_MCU
//#define fm_pwr_off HwGDATA_D &= ~(1 << 19) // Fm power off
//#define fm_pwr_on HwGDATA_D |= (1 << 19) // Fm power on
#define mcu_slaveaddr 0x54
#define COM_RADIO_STATE 0x40
#define COM_RADIO_FREQ 0x41
#define RADIO_SET_STERO 0x10
#define RADIO_SET_PWR 0x20
#define RADIO_SET_SENS_005 0x00
#define RADIO_SET_SENS_010 0x80
#define RADIO_SET_SENS_030 0x40
#define RADIO_SET_SENS_150 0xc0
#define RADIO_AUTOSCAN_UP 0x01
#define RADIO_AUTOSCAN_DOWN 0x02
#define RADIO_MANUSCAN_UP 0x04
#define RADIO_MANUSCAN_DOWN 0x08
#define RADIO_FM 0x00
#define RADIO_AM 0x01
#define RADIODELAY 100
enum{
PRESET_MODE_OFF,
PRESET_MODE_ON,
NO_MODE,
MANUAL_ADD_CH
};
#define off 0
#define on 1
#define up 1
#define down 0
#define MAX_PRESET_NUM 20
typedef struct BANKOFRADIO {
unsigned char IsPreset ;
unsigned char IsStereo;
unsigned short LastUseFMHz;
unsigned short Presetbank[MAX_PRESET_NUM] ;
unsigned char LastUsePresetNum;
unsigned char LastBand;
} FMRADIO;
extern unsigned int fm_khz;
extern FMRADIO RadioData;
extern void delay720(unsigned int count);
extern void fm_init(void);
extern void fmw_stand_by_rtn(unsigned char onoff);
extern void fmw_stereo_rtn(unsigned char onoff);
extern void mcu_send_state(void);
extern unsigned char mcu_read_radio_state(void);
extern unsigned int mcu_read_radio_freq(void);
extern void Radio_manual_scan(unsigned char dir);
extern void Radio_auto_scan(unsigned char dir);
#else
#define fm_slaveaddr 0xc0 // FM modules slave addr
#define fm_pwr_off HwGDATA_A |= (1 << 13); // Fm power off
#define fm_pwr_on HwGDATA_A &= ~(1 << 13); // Fm power on
enum{
PRESET_MODE_OFF,
PRESET_MODE_ON,
NO_MODE,
MANUAL_ADD_CH
};
#define off 0
#define on 1
#define up 1
#define down 0
#define all_level 0
#define lo_level 1
#define mid_level 2
#define hi_level 3
#define japan 1 // Japan band
#define us_eu 0 // US/EU band
#define xtal_32768 1 // set the x-tal to 32.768 KHz
#define xtal_13m 0 // set the x-tal to 13 MHz
#define ref_65_en 1 // 6.5 MHz reference for PLL enabled
#define ref_65_dis 0 // 6.5 MHz reference not enabled
#define deemph75 1 // deemphasis time constant is 75 us
#define deemph50 0 // deemphasis time constant is 50 us
#define hi_side 1 // FM module's high-side injcetion
#define lo_side 0 // FM module's low-side injection
// when you do not use the autonomous search mode of the FM module, set the scan level and step
#define scan_level 6 // the available values are 0 ~ 15
#define scan_step 100 // KHz unit
extern unsigned int fm_khz;
extern void delay720(unsigned int count);
extern void fm_init(void);
extern void LCD_DisplayChannelForFM(int InputHz);
extern void fmw_stand_by_rtn(unsigned char onoff);
extern unsigned char fm_wr_rtn(unsigned char *ptr);
// Struct for Radio data
#define MAX_PRESET_NUM 20
typedef struct BANKOFRADIO {
unsigned char IsPreset ;
unsigned char IsStereo;
unsigned short LastUseFMHz;
unsigned short Presetbank[MAX_PRESET_NUM] ;
unsigned char LastUsePresetNum;
} FMRADIO;
extern FMRADIO RadioData;
extern unsigned char fm_wr_byte[5];
extern unsigned char fm_hilo_optimal(unsigned int fm_freq);
extern void fmw_pll_rtn(unsigned char hilo, unsigned int fm_freq);
extern void fmw_all_mute_rtn(unsigned char onoff);
extern unsigned char fm_wr_rtn(unsigned char *ptr);
extern void fmw_stand_by_rtn(unsigned char onoff);
extern void fmw_stereo_rtn(unsigned char onoff);
extern void delay720(unsigned int count);
extern unsigned int fm_auto_scan_detect(unsigned char dir);
extern unsigned char fm_auto_scan(unsigned char dir);
extern void fm_manual_scan(unsigned char dir);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -