为什么如果执行程序analogWrite(3,256)后,用万用表测量3号引脚的电压,可能是0V?
时间: 2024-04-18 13:30:27 浏览: 125
数字电压表程序,0~5V的电压采样,用数码管显示
在Arduino中,`analogWrite(pin, value)`函数用于对支持PWM的引脚进行模拟输出。然而,Arduino UNO和Nano主控板上只有6个引脚(3、5、6、9、10和11)支持PWM输出。如果你尝试在非PWM引脚上使用`analogWrite()`函数,比如将引脚3作为参数传递给`analogWrite()`函数,它会被解释为数字输出而不是模拟输出。
对于数字输出,Arduino UNO和Nano主控板上的引脚D3可以通过`digitalWrite(pin, value)`函数设置为HIGH(1)或LOW(0)。当你执行`analogWrite(3, 256)`时,实际上是将引脚D3设置为HIGH,因为传递给`analogWrite()`函数的值只能是0到255之间的整数。
因此,如果你用万用表测量3号引脚的电压,并传递了`analogWrite(3, 256)`,你可能会测量到0V,因为引脚D3实际上被设置为LOW(0)。请确保你在PWM引脚上使用`analogWrite()`函数来进行模拟输出,并且传递的值在0到255之间。
阅读全文