这两段代码是一样的,为什么答应出来的结果不同?

左边的时第一段代码打印出来的结果,右边的是第二段代码打印出来的结果。
// 定义调试标志
//#define DEBUG_PRINT_PROCESSED_DATA 1 // 设置为1启用调试打印,0禁用
///**
// * @brief 处理所有通道数据
// */
//void process_all_channels(void)
//{
//
// // 处理ADC0的数据
// if (flag_ADC_DMA_REC2 == 1) {
// // 分离前4000个点
// separate_adc_channels(ADC_DMA_Data0, ADC_DMA_Data1, ADC_DMA_Data2,
// Channel_Data, 0, SAMPLE_SIZE);
//
// // 处理每个通道
// for (uint8_t ch = 0; ch < 3; ch++) {
// estimate_and_fill_sine_wave(Channel_Data[ch], Process_Data[ch], ch);
// }
//
// #if DEBUG_PRINT_PROCESSED_DATA
// for (int i = 0; i < 4000; i++) {
// printf("%d,%d\n", Process_Data[2][i], Channel_Data[2][i]+2000);
// }
// #endif
// }
//
// if (flag_ADC_DMA_REC2 == 2) {
// // 分离后4000个点
// separate_adc_channels(ADC_DMA_Data0, ADC_DMA_Data1, ADC_DMA_Data2,
// Channel_Data, 4000, SAMPLE_SIZE);
//
// // 处理每个通道
// for (uint8_t ch = 0; ch < 3; ch++) {
// estimate_and_fill_sine_wave(Channel_Data[ch], Process_Data[ch], ch);
// }
//
// #if DEBUG_PRINT_PROCESSED_DATA
// for (int i = 0; i < 4000; i++) {
// printf("%d,%d\n", Process_Data[2][i], Channel_Data[2][i]-2000);
// }
// #endif
// }
//
// // 清除标志
// flag_ADC_DMA_REC2 = 0;
// // 设置处理完成标志
// flag_process_ready = 1;
//}
#define DEBUG_PRINT_PROCESSED_DATA 1 // 设置为1启用调试打印,0禁用
void process_all_channels(void)
{
if (flag_ADC_DMA_REC2 == 1){
separate_adc_channels(ADC_DMA_Data0, ADC_DMA_Data1, ADC_DMA_Data2,
Channel_Data, 0, SAMPLE_SIZE);
// 处理每个通道
for (uint8_t ch = 0; ch < 3; ch++) {
estimate_and_fill_sine_wave(Channel_Data[ch], Process_Data[ch], ch);
}
#if DEBUG_PRINT_PROCESSED_DATA
for (int i = 0; i < 4000; i++) {
printf("%d,%d\n ", Process_Data[2][i],Channel_Data[2][i]+2000);
}
#endif
}
if (flag_ADC_DMA_REC2 == 2){
separate_adc_channels(ADC_DMA_Data0, ADC_DMA_Data1, ADC_DMA_Data2,
Channel_Data, 4000, SAMPLE_SIZE);
// 处理每个通道
for (uint8_t ch = 0; ch < 3; ch++) {
estimate_and_fill_sine_wave(Channel_Data[ch], Process_Data[ch], ch);
}
#if DEBUG_PRINT_PROCESSED_DATA
for (int i = 0; i < 4000; i++) {
printf("%d,%d\n ", Process_Data[2][i],Channel_Data[2][i]-2000);
}
#endif
}
// 设置处理完成标志
flag_process_ready = 1;
flag_ADC_DMA_REC2 = 0;
}