任何人都可以帮我编写这个函数吗?我需要能够在两个不同的Piezo上一次播放两种不同的音调。我应该怎样改变我的代码?在C中编码多个Piezos#
void beep (unsigned char speakerPin, int freq1, int freq2, long timeInMilliseconds)
{
int x;
long delayAmount1 = (long)(1000000/freq1);
long delayAmount2 = (long)(1000000/freq2);
long loopTime = (long)((timeInMilliseconds*1000)/(delayAmount1*2));
for (x=0;x<loopTime;x++)
{
digitalWrite(speakerPin1,HIGH);
digitalWrite(speakerPin2,HIGH);
delayMicroseconds(delayAmount2);
digitalWrite(speakerPin1,LOW);
digitalWrite(speakerPin2,LOW);
delayMicroseconds(delayAmount2);
}
}
我们无法为您编写代码。首先要自己尝试一下,然后告诉我们。 – 2014-11-04 19:53:17
这似乎是一个“压电”对此很重要。它是什么? – BradleyDotNET 2014-11-04 19:54:58
我知道我可以使用移位寄存器编写代码,但我不想使用移位寄存器。我现在插入我的arduino的只是两个Piezos。这是我到目前为止所提出的。 – Entropular 2014-11-04 19:56:20