求Arduino 输出PWM波的周期或频率是多少?-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 24119|回复: 6

[未解决] 求Arduino 输出PWM波的周期或频率是多少?

[复制链接]
发表于 2014-11-25 17:01 | 显示全部楼层 |阅读模式
求Arduino输出PWM波的周期或频率是多少?如果我想要改动该如何改动PWM波的周期和频率?
发表于 2014-11-25 17:28 | 显示全部楼层
analogwrite输出的pwm频率在490hz左右,但通过analogwrite只能改变pwm的暂空比,不能改变频率。

如果要改变频率,可以试试tone函数
 楼主| 发表于 2014-11-28 19:29 | 显示全部楼层
奈何col 发表于 2014-11-25 17:28
analogwrite输出的pwm频率在490hz左右,但通过analogwrite只能改变pwm的暂空比,不能改变频率。

如果要改 ...

太感谢了,可以详细说一下tone函数如何让用么?
发表于 2014-12-1 23:59 | 显示全部楼层
to adjust Arduino PWM frequencies for Pins 9 and 10:
  which are controlled by timer 1

In your setup( ) function, write :
   TCCR1B = TCCR1B & 0b11111000 | <setting>;
where <setting> is an integer from 1 to 5 (see below)

For example:
   TCCR1B = TCCR1B & 0b11111000 | 4;  // Freq = 122.55 Hz
Another example:
   TCCR1B = TCCR1B & 0b11111000 | 2;  // Freq = 3921.16 Hz

Setting         Divisor         Frequency
0x01                  1                  31372.55
0x02                  8                  3921.16
0x03                  64                  490.20   <--DEFAULT
0x04                  256                  122.55
0x05                  1024                  30.64


Reference:
  http://playground.arduino.cc/Main/TimerPWMCheatsheet
发表于 2016-11-16 13:51 | 显示全部楼层
学习了               
发表于 2019-3-15 17:12 | 显示全部楼层
请问,如果想调pwm频率为50Hz,要怎么调呢
发表于 2022-3-24 17:08 | 显示全部楼层
TONY0_0STARK 发表于 2019-3-15 17:12
请问,如果想调pwm频率为50Hz,要怎么调呢

              digitalWrite(SPEED_PUL_PIN,0);
              delayMicroseconds(2000);
              digitalWrite(SPEED_PUL_PIN,1);
              delayMicroseconds(2000);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 11:51 , Processed in 0.071161 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表