📄 radio2.h
字号:
#ifndef RADIO2_H
#define RADIO2_H
#define FWD 0
#define REV 1
#define AUTO 0
#define MANUAL 1
#define FM 0
#define AM 1
#define SEEK 0
#define RECV 1
#define IFC_TIMEOUT 100
typedef enum {
RA_IDEL = 0, //待机
RA_SEEK_STOP,
RA_SEEK_WAIT,
RA_SEEK_FWD,
RA_SEEK_REV,
RA_CHK_BAND,
RA_AMS,
RA_TA_SEEK,
RA_NEXT_FREQ,
RA_CHK_FREQ,
RA_END_UC,
RA_TOUT_AF,
RA_TOUT_TA,
RA_CHK_IFC,
RA_PLL_UNLOCK,
RA_PLL_LOCKED,
} eRaStatus;
typedef struct _in1{
UINT FRQ :16; //16位电台频率数值
BIT SNS :1; //SNS:DVS 输入频率范围选择 01
BIT DVS :1;
BIT CTE :1; //CTE 中频计数控制 1:START 0:REST 1
BIT XS :1; //XS: 0=4.5M 1=7.2M 0
BIT XSREF :4; //4位参考频率选择 0011
}IN1;
typedef struct _in2{
BIT IOC1 :1; //控制管脚IO1的方向,0=输入,1=输出 0
BIT IOC2 :1; //控制管脚IO2的方向,0=输入,1=输出 0
BIT LOC :1; //IO1 电路修改,IO1用来控制FM LOC//sheldon 07-07-06
BIT IO2 :1; //IO2 本方案没用 0 (0)
BIT SNC :1; //FM噪音控制 B01 1
BIT FMB :1; //FM-B+ B02 1
BIT STRQ :1; //ST/RQ 5V=搜索 0V=接收 B03 0
BIT AMB :1; //FM-LO/DX AGC B04 1 (B)//电路修改//sheldon 07-07-06
BIT B05 :1; //AM-B+ 0
BIT DOC :3; //设置输出数据端DO脚的辅助功能设置 1
//010时将指示中频测量的完成状况 0
// 0 (2)
BIT UL :2; //锁相环控制电压输出驱动模式设01时 0
//为直接输出模式(一般采用此种模式)1 UL_55US
BIT DZ :2; //锁相环死区控制,不是很重要。 0
// 0 (2)
BIT GT :2; //中频测量时间设置最大64MS最小4MS当GT=00时,
//前两中等待时间3-4MS后两中等待时间为7-8MS,
//中频信号必须在等待时间结束之前输入!!
BIT TBC :1; //设置为1时使B01口输出8HZ的基准脉冲,此时B01口将不能作为通用输出口。
BIT DLC :1; //电荷泵输出,正常状态为0,设置为1时拉低电位。
BIT IFS :1; //中频计数器控制,一般设置为1,主要设置中频场强(1:40毫伏0:70毫伏)
BIT TEST :3; //测试模式一般全部设置为0
}IN2;
/*
typedef struct _radio{
BYTE region; //地区
BYTE band; //波段
union {
UINT16 freq; //频率
BYTE bFreq[2];
} mFreq;
BYTE dir; //方向
BYTE step; //步进
BYTE ams; //自动搜索
BYTE mode; //自动手动
BYTE ta_seek; //TA扫描
BYTE af_seek; //AF扫描
BYTE loc; //LOC开关
BYTE smeter; //smeter判断
void *background;
}RADIO;
*/
typedef struct _cvol{
BIT MUT :1;
BIT LOU :1;
BIT VOL :6;
}CVOL;
typedef struct _tone{
BIT BAS :4;
BIT TRE :4;
}TONE;
typedef struct _equa{
BIT FAD :4;
BIT BAL :4;
}EQUA;
typedef struct _system{
BYTE ssr0; //0x00
BYTE ceqs; //0x01
BYTE lch; //0x02
CVOL vol; //0x03
TONE tone; //0x04
EQUA equa; //0x05
BYTE sth; //0x06
BYTE stm; //0x07
}SYSTEM;
typedef struct _rasr1{
BIT bid :2;
BIT bnd :2;
BIT loc :1;
BIT rev :1;
BIT stmo :1;
BIT smod :1;
}RASR1;
typedef struct _rasr2{
BIT ps :4;
BIT rsdir :1;
BIT risf :1;
BIT riaf :1;
BIT ripf :1;
}RASR2;
typedef struct _radio{
BYTE rasr0; //0x08
RASR1 rasr1; //0x09
RASR2 rasr2; //0x0A
BYTE smet; //0x0B
BYTE rdsr; //0x0C
BYTE regr; //0x0D
char rpsn[9]; //0x0E-0x16
char ptyn[9]; //0x17-0x1f
UINT curfreq; //0x20-0x21
UINT fmpreset[18]; //
UINT ampreset[12]; //
}RADIO;
typedef struct _tv{
UINT tvfreq; //
BYTE tvsr;
BYTE tvps;
BYTE tvs;
}TV;
typedef struct _pubvar{
SYSTEM system;
RADIO radio;
TV tv;
}PUBVAR;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -