Tone()

来自YFRobotwiki
2017年9月13日 (三) 10:48Allblue讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

描述

在引脚上产生指定频率(和占空比为50%)的方波。 可以指定持续时间,否则波继续直到调用noTone()。 该引脚可连接到压电蜂鸣器或其他扬声器以播放音调。

一次只能产生一个音调。 如果一个音调已经在另一个引脚上播放,则对tone()的调用将不会起作用。 如果音色在相同的引脚上播放,则呼叫将设置其频率。

使用tone()功能将会干扰引脚3和11(除了Mega以外的板卡)上的PWM输出。

Board Min frequency (Hz) Max frequency (Hz)
Uno, Mega, Leonardo and other AVR boards 31 65535
Gemma Not implemented Not implemented
Zero 41 275000
Due Not implemented Not implemented


有关技术细节,请参阅Brett Hagman的说明


注意: 如果要在多个引脚上播放不同的音高,则需要在下一个通道上调用tone()之前,在一个引脚上调用noTone()。


语法

tone(pin, frequency) 
tone(pin, frequency, duration)


参数

  • pin: 产生音色的引脚
  • frequency: 以Hz为单位的音调频率 - unsigned int
  • duration: 音的持续时间以毫秒为单位(可选) - unsigned long


返回

nothing


扩展阅读

- noTone()
- analogWrite()
- byte
- PWM




返回Arduino语法参考列表

更多建议和问题欢迎反馈至 YFRobot论坛