Arduino中断功能
我想在方波脉冲的上升沿和下降沿调用一些函数。我使用了AttachinTerruptDigitalPintoInterruptPin,udara,上升为上升沿,AttachinTerruptDigitalPintoInterruptPin,blank,下降为下降沿。但我没有保守地获得《涨跌》的系列输出。这个问题的答案是什么?我的代码编写如下Arduino中断功能,arduino,Arduino,我想在方波脉冲的上升沿和下降沿调用一些函数。我使用了AttachinTerruptDigitalPintoInterruptPin,udara,上升为上升沿,AttachinTerruptDigitalPintoInterruptPin,blank,下降为下降沿。但我没有保守地获得《涨跌》的系列输出。这个问题的答案是什么?我的代码编写如下 enter code here const byte interruptPin = 2; void setup() { Serial.begin(9
enter code here
const byte interruptPin = 2;
void setup() {
Serial.begin(9600);
pinMode(interruptPin, INPUT);
}
void loop() {
attachInterrupt(digitalPinToInterrupt(interruptPin), udara, RISING);
attachInterrupt(digitalPinToInterrupt(interruptPin), blank, FALLING);
}
void udara() {
Serial.println("rise");
}`
void blank() {
Serial.println("fall");
}
attachInterrupt应该是设置的一部分,而不是循环,因为它用于设置事件触发器和回调
const byte interruptPin = 2;
void setup() {
Serial.begin(9600);
pinMode(interruptPin, INPUT);
attachInterrupt(digitalPinToInterrupt(interruptPin), udara, RISING);
attachInterrupt(digitalPinToInterrupt(interruptPin), blank, FALLING);
}
void loop() {
}
void udara() {
Serial.println("rise");
}
void blank() {
Serial.println("fall");
}
串行使用中断来输出数据。这些中断在ISR期间被禁用。因此,最好避免在ISR中使用串行。更改代码以在ISR中设置标志,并根据标志执行“从循环打印” 为什么要在“循环”中附加?在“设置”中附加一次不是更有意义吗?更好的代码格式。非常感谢您的回答。因为循环中没有任何东西,所以代码只运行一个循环,输出可以看作是一次上升和连续下降。我需要答案,就像上升,下降,上升,下降一样。修改内容是什么?