我正在用arduino uno做一个转速表,这是我的代码:
int ledPin = 13;
volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void rpm2()
{
rpmcount++;
}
void setup()
{
lcd.begin(16, 2);
attachInterrupt(0, rpm2, FALLING);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
rpmcount = 0;
rpm = 0;
timeold = 0;
}
void loop()
{
delay(1000);
detachInterrupt(0);
rpm = 30*1000/(millis() -Timeold)*rpmcount;
timeold = millis();
rpmcount = 0;
lcd.clear();
lcd.print("RPM=");
lcd.print(rpm);
attachInterrupt(0, rpm2, FALLING);
}
当我打开arduino时,e开始在 rpm 上给我随机数字,我不明白为什么。即使我删除IR,它仍然显示随机数