void newtone(byte tonePin, int frequency, int duration) {
int period = 1000000L / frequency;
int pulse = period / 2;
for (long i = 0; i < duration *1000L; i += period) {
digitalWrite(tonePin, HIGH);
digitalWrite(led, HIGH);
delayMicroseconds(pulse);
digitalWrite(tonePin, LOW);
digitalWrite(led, LOW);
delayMicroseconds(pulse);
}
}
void start()
{
for(int x=0;x<sizeof(Eulogyofjoytune)/sizeof(Eulogyofjoytune[0]);x++)
{
newtone(ALARM_PIN,Eulogyofjoytune[x],1);
}
}
arduino处理tone函数和IRremote冲突问题时,建立了一个newtone函数
具体见:http://www.geek-workshop.com/thread-4037-1-1.html
但是不知道duration写啥,蜂鸣器一直响,无法产生不同频率的声音,请问这是为什么?