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

📄 include.h

📁 使用三星ARM7芯片S3C44B0
💻 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 + -