[Advanced I/O]
描述
Generates a square wave of the specified frequency (and 50% duty cycle) on a pin. A duration can be specified, otherwise the wave continues until a call to noTone(). The pin can be connected to a piezo buzzer or other speaker to play tones.
Only one tone can be generated at a time. If a tone is already playing on a different pin, the call to tone()
will have no effect. If the tone is playing on the same pin, the call will set its frequency.
NOTE: if you want to play different pitches on multiple pins, you need to call noTone()
on one pin before calling tone()
on the next pin.
語法
tone(pin, frequency) tone(pin, frequency, duration)
參數
pin
: the pin on which to generate the tonefrequency
: the frequency of the tone in hertz – unsigned intduration
: the duration of the tone in milliseconds (optional) – unsigned long
回傳
nothing
Limits
tone()
employs the PWM timer of pin 32; so to avoid conflicts, tone()
以及 analogWrite(32)
cannot be called at the same time. In addition, tone() should also not be used with the MsTimer2 以及 IRremote libraries at the same time.
參考
- [程式語法] noTone()
- [Example] Tutorial: Tone
- [Example] Tutorial: Pitch follower
- [Example] Tutorial: Simple Keyboard
- [Example] Tutorial: multiple tones
語法參考主頁面
86Duino 參考的文本是根據 Creative Commons Attribution-ShareAlike 3.0 License,部分文本是從 the Arduino reference 修改的。 參考中的代碼示例已發佈到公共領域。