关于我的程序,它是一个程序,先进行一些计算,然后使用analogWrite函数根据结果输出电压。但是我的问题是我基于一个误解来完成编程,这种误解是通过PWM的AnalogWrite函数确实会输出一个模拟电压,而实际上它只是“模拟”了模拟电压。
这是我的代码的相关部分:
int pwmOutput = 11;
int pwm = 0;
void compareNewOldVoltageYes(void)
{
  if(pv_Vnew > pv_Vold && pwm != 255)
  {
    ++pwm;           //increasing value
  }
  else if(pwm != 0)
  {
    --pwm;           //decreasing
  }
}
void compareNewOldVoltageNo(void)
{
  if(pv_Vnew > pv_Vold && pwm != 0)
  {
    --pwm;
  }
  else if(pwm != 255)
  {
    ++pwm;
  }
}
void loop() 
{
   reading();
   PowerCalculation();
   if(pv_NewP > pv_OldP)
   {
      compareNewOldVoltageYes();
   }
   else
   {
      compareNewOldVoltageNo();
   }
   analogWrite(pwmOutput, pwm);           //analogWrite
   float displayPWMvolt = pwm * 0.0196;
   Serial.print("Output Voltage: ");
   Serial.print(displayPWMvolt);
   Serial.println(" V");
   pv_OldP = pv_NewP;
   Serial.print("Previous Power: ");
   Serial.print(pv_OldP);
   Serial.println(" W");
}至于电路,输出引脚11先连接到1欧姆电阻,然后再连接到GND。(在哪里测量电压)我正在使用Arduino Uno开发板。
更新:
如@DatHa的评论中所述,pwm不输出电压。有没有办法在不更换电路板的情况下输出电压?