📄 include.h
字号:
#ifndef inc
#define inc
#define DeviceID "FGP05B_V1.0"
#include "def.h"
#include "44b.h"
#include "44blib.h"
#define DAC_TEST 0
#define Normal_Status 1
#define Keyin_Status 2
#define Scan_Status 4
#define Uart_Status 8
#define CMD_NUM_MAX 5//缓冲区命令帧存放区域数
#define CMD_LEN_MAX 150//缓冲区命令帧最大长度
#define MAXLOCKOUT 100 //最大扣除频率段的个数
#define MAXFREQINFO 100000 //最大频率个数2000000 个
//全局变量
#define CHANNELMAX 4
#define CHANNEL 0
//编辑状态
#define NOEDIT 0
#define NUMEDIT 1
#define NONUMEDIT 2
#define CloseLEDAFC() rPDATC&=((1<<10)^0xffff)
#define OpenLEDAFC() rPDATC|=(1<<10)
#define CloseLEDAGC() rPDATC&=((1<<9)^0xffff)
#define OpenLEDAGC() rPDATC|=(1<<9)
#define CloseLEDSQL() rPDATC&=((1<<11)^0xffff)
#define OpenLEDSQL() rPDATC|=(1<<11)
#define CloseLEDREM() rPDATC&=((1<<14)^0xffff)
#define OpenLEDREM() rPDATC|=(1<<14)
#define CloseLEDLOCK() rPDATC&=((1<<15)^0xffff)
#define OpenLEDLOCK() rPDATC|=(1<<15)
#define OpenTimer2Int() rINTMSK|=BIT_TIMER2
#define CloseTimer2Int() rINTMSK&=~BIT_TIMER2
__packed struct lockout_freq{
U8 used; //0或者其他:通道未使用 1:已使用
U32 lf_freq; // 扣除频点频率值
U8 lf_bw; // 扣除频点带宽(IFBW)
};
__packed struct channel_para{
U8 used; //0或者其他:通道未使用 1:已使用
U32 Freq; // 射频频率
U8 atten; // 衰减器值
U8 IFBW; // 带宽值
U8 MODE; //1:AM 2:FM 3:CW 4:USB 5:LSB
I16 BFO;
U8 GAIN; //1:AGC FAST 2:AGC SLOW 3:MGC
U8 AMP;
U8 SQL; //1:ON 0:OFF
S8 COR;
U8 AFC; //1:ON 0:OFF
U8 skip;
};
struct Scan{
int ChanFrom;
int ChanTo;
U8 Skip; //1:ON 0:OFF
U32 FreqFrom;
U32 FreqTo;
int Step;
S8 COR;
U8 Lockout; //1:ON 0:OFF
U8 scanflag; //0:通道扫描 1:频率扫描
U8 scansuspend; //1:扫描暂停中 其他无效
};
//现场参数
__packed struct device_context{
U32 Freq; // 射频频率
U8 atten; // 衰减器值
U8 IFBW; // 带宽值
U8 MODE; //1:AM 2:FM 3:CW 4:USB 5:LSB
I16 BFO;
U8 GAIN; //1:AGC FAST 2:AGC SLOW 3:MGC
U8 AMP;
U8 SQL; //1:ON 0:OFF
S8 COR;
U8 AFC; //1:ON 0:OFF
S8 level; //信号电平
U8 RS232_DATA[4]; //RS232_DATA[0]:Addr 1:Baud 2:Stop 3:Parity
U32 PChan; //指向铁电存储中下一个空存储通道的地址
U32 PLock; //指向铁电存储中下一个空Lockout的地址
U8 Lock; //中频锁定标志
U16 PreDwell;
U16 SignDwell;
U16 PostDwell; //扫描参数
};
//RF配置数据
__packed struct rf_param{
U8 rp_prescaler;
U8 rp_atten;
U8 rp_tune;
__packed struct lo1_param{
U16 lp_M;
U8 lp_R;
U8 lp_A;
} rp_lo1;
__packed struct lo2_param {
U32 lp_dw1;
U32 lp_dw2;
} rp_lo2;
};
//数字编辑状态下的缓存
struct NumIpBuf{
char Data[15];
U8 point;
};
//夏的数据结构
struct LockOutFreq{//扣除频率段结构
U32 freq;
U32 bw;
};
struct LockOutStartEnd{
U32 nStart;
U32 nEnd;
};
struct LockOutInfo{//扣除频率段结构
int nCount; //有效个数
struct LockOutFreq frLockOut[MAXLOCKOUT];
struct LockOutStartEnd stLockOut[MAXLOCKOUT];
};
struct FreqInfo{//扣除频率段结构
int nCount;
U32 stLockOut[MAXFREQINFO];
};
/*命令缓冲区数据结构如下*/
typedef struct {
U8 dataflag;//数据标志位
int codeleng[CMD_NUM_MAX];//命令帧长度
char cmdcode[CMD_NUM_MAX][CMD_LEN_MAX];//命令帧
}cmdbuffer2;
typedef struct {
U8 dataflag;//命令未处理:1 已处理:0
U8 wript;//写指针
U8 codeleng;
char cmdcode[CMD_LEN_MAX];//命令帧
}cmdbuffer;
extern int checkfreq(int freq);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -