Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino引脚产生的PWM信号的确切频率是多少_Arduino_Pwm_Arduino Uno - Fatal编程技术网

Arduino引脚产生的PWM信号的确切频率是多少

Arduino引脚产生的PWM信号的确切频率是多少,arduino,pwm,arduino-uno,Arduino,Pwm,Arduino Uno,里面说, “大多数插脚上的PWM信号频率约为490 Hz。在Uno和类似电路板上,插脚5和6的频率约为980 Hz。莱昂纳多上的插脚3和11的频率也为980 Hz。” 我现在想检查一下频率。我简单地键入了这个命令analogWrite(9127),它将生成占空比为50%的PWM信号 然后,我使用pulseIn内置的Arduino函数()并键入此命令pulseIn(9,HIGH)来测量信号高的周期。它返回的平均值1010 us 因此,周期时间为2020(高周期为1010,低周期为1010),因此该

里面说,

“大多数插脚上的PWM信号频率约为490 Hz。在Uno和类似电路板上,插脚5和6的频率约为980 Hz。莱昂纳多上的插脚3和11的频率也为980 Hz。”

我现在想检查一下频率。我简单地键入了这个命令
analogWrite(9127)
,它将生成占空比为50%的PWM信号

然后,我使用pulseIn内置的Arduino函数()并键入此命令
pulseIn(9,HIGH)
来测量信号高的周期。它返回的平均值1010 us

因此,周期时间为2020(高周期为1010,低周期为1010),因此该引脚的PWM频率为495.04~495Hz

针号5也是如此。高周期为506 uS,全周期为1012 uS,该引脚的PWM频率为988.14 Hz~988 Hz

那么,确切的PWM频率是多少

以下图片是Arduino草图和结果的快照

阿杜伊诺草图

当我多次按“1”时

当我多次按“0”时


您使用了两个引脚中的一个,PWM信号在980hz下工作! 更具体地说,引脚5和6

这是Arduino的网站上说的:

大多数引脚上的PWM信号频率约为490 Hz。 在Uno和类似的电路板上,引脚5和引脚6的频率为 大约980赫兹


PWM信号由定时器产生。定时器递增寄存器,各种方法基于此创建方形信号

频率取决于三件事:

  • 主时钟:8MHz或16MHz(通常在Arduino上)
  • 预刻度(或下面页面上的除数):要降低频率,可以设置计时器以每1、2、4、8、16…个主时钟周期增加计数
  • 最大计数:有几种计数方法,但重要的限制是寄存器大小(Arduino上通常为8位和16位)
您将在此页面上找到具体的详细信息:

那么,确切的PWM频率是多少

imo有许多变量可以给出电路板之间的“精确”PWM频率和其他因素

例如,如果我测试同一家公司的两个不同的董事会,我将无法获得精确匹配