私がUnoでトーン機能を呼び出すと、なぜセットアップでピンモードを宣言する必要はありませんか?

私がUnoでトーン機能を呼び出すと、なぜセットアップでピンモードを宣言する必要はありませんか?そのようです:

// Simplest tone
void setup() {
}

void loop() {
    tone (8,500); //on pin 8 output 500 Hz
}
5
追加された 編集された
ビュー: 1

1 答え

tone(hertz)コードは、適切な周波数を生成するためのタイマ/カウンタ制御レジスタとともに、ピンモードを初期化するためです。

void tone(uint8_t _pin, unsigned int frequency, unsigned long duration)
{
  uint8_t prescalarbits = 0b001;
  long toggle_count = 0;
  uint32_t ocr = 0;
  int8_t _timer;

  _timer = toneBegin(_pin);

  if (_timer >= 0)
  {
   //Set the pinMode as OUTPUT
    pinMode(_pin, OUTPUT);
   ... 

Tone.cpp-line 255を参照してください。 を参照してください。

7
追加された