/* USER CODE BEGIN 1 /
float t1 = 0;
float t2 = 0;
/ USER CODE END 1 */
…
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
t1 += 0.1;
t2 += 0.5;
printf("simples:%f, %f\n", sin(t1), sin(t2));
HAL_Delay(100);
}
/* USER CODE END 3 */
}
**1、选择串口通讯、端口号、波特率等参数设置;**

**2、去控件中选择波形图,拉入tab中,右键选择Y轴将2个输入I0与I1都选中,之后开启串口连接;**

**3、运行上位机,使用波形图控件读取下位机参数;**

>
> **补充:**
>
>
> 不难看出VOFA+的使用是非常简单快捷的,其自由度也是相当的高,关键还是**免费的**。**PID调参**,**无人机的姿态3D**显示等等都可以借助VOFA+实现, 希望该软件可以给读者朋友的日常嵌入式开发提供便捷与帮助。
>
>
>
## 三、CubeMX配置
**1、RCC配置外部高速晶振(精度更高)——HSE;**

**2、SYS配置:Debug设置成Serial Wire**(**否则可能导致芯片自锁**);

**3、UART1配置:使用串口通讯UART1与VOFA+上位机进行通讯显示;**

**4、ADC1配置:利用ADC1的通道IN1进行AD采样,保持独立模式;**

**5、时钟树配置:**

**6、工程配置:**

## 四、滤波算法与效果
>
> **受限于MCU自身的ADC外设缺陷,其精度和稳定性通常较差,很多场景下需要采取滤波补偿。**
> **滤波的作用就是减少噪声与干扰对数据测