📄 g1.h
字号:
//uchar Set_freqcszd();//设置所有频补参数表内容
//uchar Set_bczcszd();//设置所有标称值补参数表内容
//uchar Query_tp(uint fstadr);//查询温度值或频率信道号
uchar Set_tp(uint fstadr);//设置温度值或频率信道号
uchar Query_tp(uint fstadr,uchar bytenumb);//设置温度值或频率信道号
uchar Query_csd(uchar adsnumb,uchar bubuf );//查询所有温补、标称值补偿、频响补偿参数编码,编码占2个字节
uchar Set_cszd(uint firstadr,uchar bubuf);//设置所有温补、标称值补偿、频响补偿参数表内容,所有补偿参数占1个字节
uchar Query_cszd(uint firstadr,uchar bubuf);//查询所有温补、标称值补偿、频响补偿参数表内容,所有补偿参数占1个字节
/********************************************************************************
内部配置函数
**********************************************************************************/
uchar TEMP(uchar tempnb);//温补函数
uchar ATTBU(uchar attin,uchar attnb);//增益标称值补偿函数
uchar FREQBU(uint freqin,uchar freqnb);//频响补偿
void init_freq(uchar tempnumb,uchar portnumb,uchar portcheck,uint fr);//
void init_vgsandpcu(uchar channel ,uchar tempnumb,uchar buf_H,uchar buf_L);
void init_att(uchar tempnumb ,uchar attnumb,uchar fqnumb,uint fr,uchar attbuf);//
void PLL_PORT(uchar buf4,uchar buf,uchar buf8);//buf选择PORTB,PORTC或PORTD
void CHECK_TEMP();//温度检测
void CHECK_VTE28v();
void CHECK_PWR1();//选频电路I输出功率检测
void CHECK_PWR2();//选频电路II输出功率检测
void CHECK_id1();//功放管I第一级电流检测
void CHECK_id2();//功放管II第一级电流检测
void CHECK_id3();//功放管I第二级电流检测
void CHECK_id4();//功放管II第二级电流检测
void CHECK_PLL1();//锁相环1检测
void CHECK_PLL3();//锁相环3检测
void set_pll(uint freq,uchar buf3,uchar buf4,uchar buf6);
void send(int k,ulong buf);
void wrom(uint addr,uchar buf);
uchar rrom(uint addr);
void ATT(uchar buf5, uchar buf7);
void iic_delay();
void iic_star();
void iic_stop();
void iic_send(uchar buf);
uchar iic_get();
uchar iic_ack();
void ack_iic(uchar buf);
/****************************************************************************************
通信协议内参数地址
*****************************************************************************************/
//控制参数
#define button1 0x0000 //器件功放开关1
#define button2 0x0001 //器件功放开关2
//#define button3 0x0002 //器件功放开关3
//#define button4 0x0003 //器件功放开关4
#define att1 0x0020 //功放数控衰减1
#define att2 0x0021 //功放数控衰减2
#define vgs1 0x0050 //功放第二个管子第一级栅压(2个字节)
#define vgs2 0x0052 //功放第二个管子第二级栅压(2个字节)
#define vgs3 0x0054 //功放第一个管子第一级栅压(2个字节)
#define vgs4 0x0056 //功放第一个管子第二级栅压(2个字节)
#define pc1 0x0010 //(1个字节)
#define pc1u 0x0070
#define pc2 0x0011 //(1个字节)
#define pc2u 0x0072
#define freq1 0x0300//上行本振控制1(2个字节)
#define freq3 0x0302//上行本振控制3(2个字节)
#define poffset1 0x00e0 //上行前向功率检测偏置控制值(1个字节)
#define poffset2 0x00e1 //上行反向功率检测偏置控制值(1个字节)
#define poffset3 0x00d0 //上行功放最大输出功率1补偿控制值(1个字节)
#define poffset4 0x00d1 //上行功放最大输出功率2补偿控制值(1个字节)
//检测参数
#define temp 0x8044 //温度检测
#define tempu 0x80ba
#define V_28 0x8040
#define V_28V 0x80b6 //上行功放28V电压检测(2个字节)
#define pwr1 0x8000 //功放前向功率1检测(1个字节)
#define pwr1u 0x8086 //功放前向功率1电压检测(1个字节)
#define pwr2 0x8001 //功放前向功率2检测(1个字节)
#define pwr2u 0x8088
#define id1 0x8046 //功放管I第一级电流检测(2个字节)
#define id1u 0x8066
#define id1st 0x8020
#define id2 0x8048 //功放管II第一级电流检测(2个字节)
#define id2u 0x8068
#define id2st 0x8021
#define id3 0x804a //功放管I第二级电流检测(2个字节)
#define id3u 0x806a
//#define id3st 0x8022
#define id4 0x804c //功放管II第二级电流检测(2个字节)
#define id4u 0x806c
//#define id4st 0x8023
#define freq1_state 0x8300//上行本振锁定指示1
#define freq3_state 0x8301//上行本振锁定指示3
/****************************************************************************************
Eeprom内参数地址
*****************************************************************************************/
//控制参数
#define att1add 0x0000 //功放数控衰减1
#define att2add 0x0002 //功放数控衰减2
#define vgs1add 0x0004 //功放第二个管子第一级栅压(2个字节)
#define vgs2add 0x0006 //功放第二个管子第二级栅压(2个字节)
#define vgs3add 0x0008 //功放第一个管子第一级栅压(2个字节)
#define vgs4add 0x000a //功放第一个管子第二级栅压(2个字节)
#define pc1add 0x000c //最大输出功率
#define pc1uadd 0x000e
#define pc2add 0x0010 //最大输出功率
#define pc2uadd 0x0012
#define freq1add 0x0014//上行本振控制1(2个字节)
#define freq3add 0x0016//上行本振控制3(2个字节)
#define but1add 0x0018
#define but2add 0x0019
#define poff1add 0x001a
#define poff2add 0x001b
#define poff3add 0x001c
#define poff4add 0x001d
#define mod_idadd 0x0700 //模块识别id地址
#define mod_typeadd 0x070a //模块类型地址
#define mod_add_add 0x0712 //模块地址地址
#define product_add 0x0713 //生产序列号参数地址
/*****************************************************************************************
CRC 变换参数表
******************************************************************************************/
const uint CRCTable[256]={
0, 4129, 8258,12387,16516,20645,24774,28903,
33032,37161,41290,45419,49548,53677,57806,61935,
4657, 528,12915, 8786,21173,17044,29431,25302,
37689,33560,45947,41818,54205,50076,62463,58334,
9314,13379, 1056, 5121,25830,29895,17572,21637,
42346,46411,34088,38153,58862,62927,50604,54669,
13907, 9842, 5649, 1584,30423,26358,22165,18100,
46939,42874,38681,34616,63455,59390,55197,51132,
18628,22757,26758,30887, 2112, 6241,10242,14371,
51660,55789,59790,63919,35144,39273,43274,47403,
23285,19156,31415,27286, 6769, 2640,14899,10770,
56317,52188,64447,60318,39801,35672,47931,43802,
27814,31879,19684,23749,11298,15363, 3168, 7233,
60846,64911,52716,56781,44330,48395,36200,40265,
32407,28342,24277,20212,15891,11826, 7761, 3696,
65439,61374,57309,53244,48923,44858,40793,36728,
37256,33193,45514,41451,53516,49453,61774,57711,
4224, 161,12482, 8419,20484,16421,28742,24679,
33721,37784,41979,46042,49981,54044,58239,62302,
689, 4752, 8947,13010,16949,21012,25207,29270,
46570,42443,38312,34185,62830,58703,54572,50445,
13538, 9411, 5280, 1153,29798,25671,21540,17413,
42971,47098,34713,38840,59231,63358,50973,55100,
9939,14066, 1681, 5808,26199,30326,17941,22068,
55628,51565,63758,59695,39368,35305,47498,43435,
22596,18533,30726,26663, 6336, 2273,14466,10403,
52093,56156,60223,64286,35833,39896,43963,48026,
19061,23124,27191,31254, 2801, 6864,10931,14994,
64814,60687,56684,52557,48554,44427,40424,36297,
31782,27655,23652,19525,15522,11395, 7392, 3265,
61215,65342,53085,57212,44955,49082,36825,40952,
28183,32310,20053,24180,11923,16050, 3793, 7920
};
/************************************************************************************
基本信息只读项表(地址+信息内容)
*************************************************************************************/
const PRO_ID[10] =
{
'0','5','1','2','3','1','1'};//程序ID号为0512311,表示05年12月31日,模块版本为1.
/************************************************************************************
参数地址配置表格
*************************************************************************************/
const Para_Num_Conf[Para_Num] =
{
0x00,0xf0,0x0a,0xff,0x01,0xf0,0x08,0xff,0x02,0xf0,0x01,0xff,0x03,0xf0,0x01,0xff,//0x04,0xf0,0xff,
0x05,0xf0,0x01,0xff,0x06,0xf0,0x01,0xff,0x07,0xf0,0x01,0xff,0x08,0xf0,0x01,0xff,0x17,0xf0,0x0a,0xff,
0x18,0xf0,0x02,0xff,0x19,0xf0,0x14,0xff,
0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,//0x02,0x00,0x00,0x03,0x00,0x00,
0x20,0x00,0x01,0x02,0x21,0x00,0x01,0x02,0x50,0x00,0x02,0x06,0x52,0x00,0x02,0x06,0x54,0x00,0x02,0x06,
0x56,0x00,0x02,0x06,0x10,0x00,0x01,0x00,0x70,0x00,0x02,0x06,0x11,0x00,0x01,0x00,0x72,0x00,0x02,0x06,
0x00,0x03,0x02,0x07,0x02,0x03,0x02,0x07,0xe0,0x00,0x01,0x00,0xe1,0x00,0x01,0x00,0xd0,0x00,0x01,0x00,0xd1,0x00,0x01,0x00,0x44,0x80,0x01,0x00,
0xba,0x80,0x02,0x01,0x40,0x80,0x02,0x01,0xb6,0x80,0x02,0x01,0x00,0x80,0x01,0x00,0x86,0x80,0x02,0x01,
0x01,0x80,0x01,0x00,0x88,0x80,0x02,0x01,0x46,0x80,0x02,0x01,0x66,0x80,0x02,0x01,0x48,0x80,0x02,0x01,
0x68,0x80,0x02,0x01,0x4a,0x80,0x02,0x01,0x6a,0x80,0x02,0x01,0x4c,0x80,0x02,0x01,0x6c,0x80,0x02,0x01,
0x00,0x83,0x01,0x00,0x01,0x83,0x01,0x00,0x20,0x80,0x01,0x00,0x21,0x80,0x01,0x00//,0x22,0x80,0x00,0x23,0x80,0x00
};
//const Para_Num_Conf[Para_Num] =
//{
// 0x00,0x00,0x00,0x01,0x00,0x00,//0x02,0x00,0x00,0x03,0x00,0x00,
// 0x20,0x00,0x02,0x21,0x00,0x02,0x50,0x00,0x06,0x52,0x00,0x06,0x54,0x00,0x06,
// 0x56,0x00,0x06,0x10,0x00,0x00,0x70,0x00,0x06,0x11,0x00,0x00,0x72,0x00,0x06,
// 0x00,0x03,0x07,0x02,0x03,0x07,0xe0,0x00,0x00,0xe1,0x00,0x00,0xd0,0x00,0x00,0xd1,0x00,0x00,0x44,0x80,0x00,
// 0xba,0x80,0x01,0x40,0x80,0x01,0xb6,0x80,0x01,0x00,0x80,0x00,0x86,0x80,0x01,
// 0x01,0x80,0x00,0x88,0x80,0x01,0x46,0x80,0x01,0x66,0x80,0x01,0x48,0x80,0x01,
// 0x68,0x80,0x01,0x4a,0x80,0x01,0x6a,0x80,0x01,0x4c,0x80,0x01,0x6c,0x80,0x01,
// 0x00,0x83,0x00,0x01,0x83,0x00,0x20,0x80,0x00,0x21,0x80,0x00//,0x22,0x80,0x00,0x23,0x80,0x00
//};
//温度补偿参数编码表,顺序为增益1温补参数、增益2温补参数、本振1补偿参数、本振2补偿参数
const prtemp[20] =
{
0x38,0x03,0x39,0x03,0xb0,0x00,0xb2,0x00,0xb4,0x00,0xb6,0x00,
0xf0,0x00,0xf1,0x00,0x00,0x80,0x01,0x80
};
//标称值补偿参数编码表,顺序为增益1补偿参数、增益2补偿参数
const attact[4] =
{
0x38,0x03,0x39,0x03
};
//频响补偿参数编码表,顺序为增益1补偿参数、增益2补偿参数
const freqbc[4] =
{
0x38,0x03,0x39,0x03
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -