저는 arduino의 초보자이며 부비동 파 발생 장치를 만들려고합니다. 최근에 모든 것을 주 무효 루프에 넣을 수 없다는 것을 알았 기 때문에 인터럽트를 사용하려고합니다. 인터럽트 (지연) 내부에서 변수를 변경하는 데 문제가 있습니다. 실수가 어디인지는 알 수 없습니다.arduino 인터럽트 변수가 작동하지 않습니다.
int sine256[] = { //256 sin values from 0 to 2pi
};
int i = 0;
int sensorPin = 7;
int outputPin = 6;
volatile float Delay = 10000;
void setup()
{
Serial.begin(9600);
pinMode(outputPin, OUTPUT);
pinMode(sensorPin, INPUT);
attachInterrupt(digitalPinToInterrupt(sensorPin), freq, RISING);
}
void loop()
{
analogWrite(6,sine256[i]);
i = i + 1;
if(i == 256){
i = 0;
}
Serial.println(Delay);
delayMicroseconds(Delay);
}
void freq() {
Delay = Delay/2;
}
'void setup'에서'pinMode (sensorPin, INPUT);을 변경하십시오. 'to''pinMode (sensorPin, INPUT_PULLUP);'. 평균'INPUT'은'RISING/FALLING' 가장자리를 포함하지 않습니다. @nyuhanC – dsgdfg