// 零点校准 void zero_calibration(void) { // 输入0V标准电压 printf("请输入0V校准电压\n"); delay_ms(1000); // 测量输出频率 float zero_freq = measure_frequency(); // 调整零点电位器直到频率为0 printf("调整零点电位器,目标频率: 0Hz\n"); printf("当前频率: %.2f Hz\n", zero_freq); } // 满度校准 void span_calibration(float input_voltage) { // 输入满度标准电压 printf("请输入%.1fV校准电压\n", input_voltage); delay_ms(1000); // 计算理论频率 float theory_freq = input_voltage * std_scale; // 测量实际频率 float actual_freq = measure_frequency(); // 调整满度电位器 printf("调整满度电位器\n"); printf("目标频率: %.2f Hz\n", theory_freq); printf("实际频率: %.2f Hz\n", actual_freq); float error = (actual_freq - theory_freq) / theory_freq * 100; printf("误差: %.3f%%\n", error); }