Tone()
来自YFRobotwiki
描述
在引脚上产生指定频率(和占空比为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
更多建议和问题欢迎反馈至 YFRobot论坛