|
@ -20,20 +20,20 @@ |
|
|
|
|
|
|
|
|
//=============================================
|
|
|
//=============================================
|
|
|
///打开adc输出监控,0kg的试试每一路的输出就是 0kg_out1_adc FF77 FFB3 00A4 FFEA
|
|
|
///打开adc输出监控,0kg的试试每一路的输出就是 0kg_out1_adc FF77 FFB3 00A4 FFEA
|
|
|
#define D_ch1_0kg_out1_adc (vS16)0xFF77 |
|
|
// #define D_ch1_0kg_out1_adc (vS16)0xFF77
|
|
|
#define D_ch2_0kg_out1_adc (vS16)0xFFB3 |
|
|
// #define D_ch2_0kg_out1_adc (vS16)0xFFB3
|
|
|
#define D_ch3_0kg_out1_adc (vS16)0x00A4 |
|
|
// #define D_ch3_0kg_out1_adc (vS16)0x00A4
|
|
|
#define D_ch4_0kg_out1_adc (vS16)0xFFEA |
|
|
// #define D_ch4_0kg_out1_adc (vS16)0xFFEA
|
|
|
/////需要通过测试配置 如果不在意符号位 可以优化掉
|
|
|
// /////需要通过测试配置 如果不在意符号位 可以优化掉
|
|
|
#define D_ch1_out1_offset (vS16)(D_ch1_wantline-D_ch1_0kg_out1_adc) |
|
|
// #define D_ch1_out1_offset (vS16)(D_ch1_wantline-D_ch1_0kg_out1_adc)
|
|
|
#define D_ch2_out1_offset (vS16)(D_ch2_wantline-D_ch2_0kg_out1_adc) |
|
|
// #define D_ch2_out1_offset (vS16)(D_ch2_wantline-D_ch2_0kg_out1_adc)
|
|
|
#define D_ch3_out1_offset (vS16)(D_ch3_wantline-D_ch3_0kg_out1_adc) |
|
|
// #define D_ch3_out1_offset (vS16)(D_ch3_wantline-D_ch3_0kg_out1_adc)
|
|
|
#define D_ch4_out1_offset (vS16)(D_ch4_wantline-D_ch4_0kg_out1_adc) |
|
|
// #define D_ch4_out1_offset (vS16)(D_ch4_wantline-D_ch4_0kg_out1_adc)
|
|
|
|
|
|
|
|
|
#define D_ch1_wantline (vS16)0x18da |
|
|
// #define D_ch1_wantline (vS16)0x18da
|
|
|
#define D_ch2_wantline (vS16)0x18da |
|
|
// #define D_ch2_wantline (vS16)0x18da
|
|
|
#define D_ch3_wantline (vS16)0x18da |
|
|
// #define D_ch3_wantline (vS16)0x18da
|
|
|
#define D_ch4_wantline (vS16)0x18da |
|
|
// #define D_ch4_wantline (vS16)0x18da
|
|
|
|
|
|
|
|
|
///cc 2023/04/06--7:39:40 每个传感器放置10kg
|
|
|
///cc 2023/04/06--7:39:40 每个传感器放置10kg
|
|
|
///应变片传感器10kg的adc值,选择这个是因为10kg容易获得 并且有一定的重量差
|
|
|
///应变片传感器10kg的adc值,选择这个是因为10kg容易获得 并且有一定的重量差
|
|
@ -47,40 +47,7 @@ |
|
|
#define D_adc_per_kg ((D_ch1_10kg_out1_adc-D_ch1_0kg_out1_adc)/D_Rsensor_per_10kg) |
|
|
#define D_adc_per_kg ((D_ch1_10kg_out1_adc-D_ch1_0kg_out1_adc)/D_Rsensor_per_10kg) |
|
|
#define D_adc_zeroout (10*D_adc_per_kg) ///零点都拉到10kg
|
|
|
#define D_adc_zeroout (10*D_adc_per_kg) ///零点都拉到10kg
|
|
|
|
|
|
|
|
|
TS_adc_SPara_ TS_adc_SPara[D_ADC_CHANNEL_NUM]= |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
'A', //0 1 u8 rev1;
|
|
|
|
|
|
0, //2 3 u8 ch;
|
|
|
|
|
|
D_ch1_wantline, //vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
|
|
D_ch1_out1_offset, //3 4 vU16 offset;
|
|
|
|
|
|
2, //4 5 vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
5, //5 6 vU8 bshift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
|
|
|
|
|
|
'A', //0 1 u8 rev1;
|
|
|
|
|
|
1, //2 3 u8 ch;
|
|
|
|
|
|
D_ch1_wantline, //vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
|
|
D_ch2_out1_offset, //3 4 vU16 offset;
|
|
|
|
|
|
2, //4 5 vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
5, //5 6 vU8 bshift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
|
|
|
|
|
|
'A', //0 1 u8 rev1;
|
|
|
|
|
|
2, //2 3 u8 ch;
|
|
|
|
|
|
D_ch1_wantline, //vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
|
|
D_ch3_out1_offset, //3 4 vU16 offset;
|
|
|
|
|
|
2, //4 5 vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
5, //5 6 vU8 bshift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'A', //0 1 u8 rev1;
|
|
|
|
|
|
3, //2 3 u8 ch;
|
|
|
|
|
|
D_ch1_wantline, //vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
|
|
D_ch4_out1_offset, //3 4 vU16 offset;
|
|
|
|
|
|
2, //4 5 vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
5 //5 6 vU8 bshift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TS_task_adc_sample ts_adc_samples[D_ADC_CHANNEL_NUM]; |
|
|
TS_task_adc_sample ts_adc_samples[D_ADC_CHANNEL_NUM]; |
|
@ -92,11 +59,39 @@ void L2_task_adc_init(U8 ch) |
|
|
L1_task_reg_clear(&ts_adc_samples[ch].task); |
|
|
L1_task_reg_clear(&ts_adc_samples[ch].task); |
|
|
L3_task_s_go(ts_adc_samples[ch],D_task_init); |
|
|
L3_task_s_go(ts_adc_samples[ch],D_task_init); |
|
|
|
|
|
|
|
|
|
|
|
printf5("\r\n rev **************** wantline %5X\t %X\t %X\t %X\t %X\r\n",TS_adc_SPara[ch].ch,\ |
|
|
|
|
|
TS_adc_SPara[ch].wantline,TS_adc_SPara[ch].offset,TS_adc_SPara[ch].ashift,TS_adc_SPara[ch].bshift444); |
|
|
|
|
|
|
|
|
ts_adc_samples[ch].pSPara = &TS_adc_SPara[ch]; |
|
|
ts_adc_samples[ch].pSPara = &TS_adc_SPara[ch]; |
|
|
ts_adc_samples[ch].firstRun = 1; |
|
|
ts_adc_samples[ch].firstRun = 1; |
|
|
|
|
|
|
|
|
|
|
|
// printf5("\r\n rev **************** wantline %5X\t %X\t %X\t %X\t %X\r\n",ts_adc_samples[ch].pSPara->ch,\ |
|
|
|
|
|
// ts_adc_samples[ch].pSPara->wantline,ts_adc_samples[ch].pSPara->offset,ts_adc_samples[ch].pSPara->ashift,ts_adc_samples[ch].pSPara->bshift444);
|
|
|
|
|
|
|
|
|
|
|
|
// ts_adc_samples[0].pSPara->wantline = D_ch1_wantline;
|
|
|
|
|
|
// ts_adc_samples[0].pSPara->offset = D_ch1_out1_offset;
|
|
|
|
|
|
// ts_adc_samples[0].pSPara->ch = 0;
|
|
|
|
|
|
// ts_adc_samples[0].pSPara->ashift = 2;
|
|
|
|
|
|
// ts_adc_samples[0].pSPara->bshift444 = 5;
|
|
|
|
|
|
|
|
|
|
|
|
// ts_adc_samples[1].pSPara->wantline = D_ch1_wantline;
|
|
|
|
|
|
// ts_adc_samples[1].pSPara->offset = D_ch2_out1_offset;
|
|
|
|
|
|
// ts_adc_samples[1].pSPara->ch = 1;
|
|
|
|
|
|
// ts_adc_samples[1].pSPara->ashift = 2;
|
|
|
|
|
|
// ts_adc_samples[1].pSPara->bshift444 = 5;
|
|
|
|
|
|
|
|
|
|
|
|
// ts_adc_samples[2].pSPara->wantline = D_ch1_wantline;
|
|
|
|
|
|
// ts_adc_samples[2].pSPara->offset = D_ch3_out1_offset;
|
|
|
|
|
|
// ts_adc_samples[2].pSPara->ch = 2;
|
|
|
|
|
|
// ts_adc_samples[2].pSPara->ashift = 2;
|
|
|
|
|
|
// ts_adc_samples[2].pSPara->bshift444 = 5;
|
|
|
|
|
|
|
|
|
|
|
|
// ts_adc_samples[3].pSPara->wantline = D_ch1_wantline;
|
|
|
|
|
|
// ts_adc_samples[3].pSPara->offset = D_ch4_out1_offset;
|
|
|
|
|
|
// ts_adc_samples[3].pSPara->ch = 3;
|
|
|
|
|
|
// ts_adc_samples[3].pSPara->ashift = 2;
|
|
|
|
|
|
// ts_adc_samples[3].pSPara->bshift444 = 5;
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//ADC Channel 采样任务
|
|
|
//ADC Channel 采样任务
|
|
@ -329,8 +324,8 @@ void L2_task_adc_sample(TS_task_adc_sample *s) |
|
|
printfs("\r\n D_ADC_JITTER_zero---"); |
|
|
printfs("\r\n D_ADC_JITTER_zero---"); |
|
|
///printf3("\r\n ch(%d) out3_Peak %5d %5X ",(int)s->pSPara->ch,s->out3_Peak,s->out3_Peak );
|
|
|
///printf3("\r\n ch(%d) out3_Peak %5d %5X ",(int)s->pSPara->ch,s->out3_Peak,s->out3_Peak );
|
|
|
|
|
|
|
|
|
printf4("\r\n ch(%d) adc=%5d ->offset %5d wantline %5d ",(int)s->pSPara->ch,s->out1_adc,s->pSPara->offset,s->pSPara->wantline); |
|
|
printf5("\r\n rev(%c) ch(%d) adc=%5d ->offset %5d wantline %5d ",s->pSPara->rev1,(int)s->pSPara->ch,s->out1_adc,s->pSPara->offset,s->pSPara->wantline); |
|
|
printf4("\r\n ch(%d) adc=%5X ->offset %5X wantline %5X ",(int)s->pSPara->ch,s->out1_adc,s->pSPara->offset,s->pSPara->wantline); |
|
|
printf5("\r\n rev(%c) ch(%d) adc=%5X ->offset %5X wantline %5X ",s->pSPara->rev1,(int)s->pSPara->ch,s->out1_adc,s->pSPara->offset,s->pSPara->wantline); |
|
|
|
|
|
|
|
|
s->ts_SAa.average = (vU32)s->out3_Peak;/// shiftaverage_a路初始化
|
|
|
s->ts_SAa.average = (vU32)s->out3_Peak;/// shiftaverage_a路初始化
|
|
|
s->ts_SAa.sum = s->ts_SAa.average << s->pSPara->ashift; |
|
|
s->ts_SAa.sum = s->ts_SAa.average << s->pSPara->ashift; |
|
|