ขอคำแนะนำ การอินเตอร์รัพซ้อนอินเตอร์รัพหน่อยครับ (arduino UNO R3)

กระทู้คำถาม
// ตัวอย่างโคดที่ผมเขียน
int LED1=5;
int LED2=6;
int LED3=7;
int SW1=2;
int SW2=3;

void setup()
{
  Serial.begin(9600);
  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
  pinMode(LED3,OUTPUT);
  attachInterrupt(digitalPinToInterrupt(SW1),int2,LOW);
  attachInterrupt(digitalPinToInterrupt(SW2),int1,LOW);
}

void loop()
{
  digitalWrite(LED3,HIGH);
  delay(50);
  digitalWrite(LED3,LOW);
  delay(50);
}

void in1()
{
  digitalWrite(LED2,HIGH);
  delay(1000000);
  digitalWrite(LED2,LOW);
  delay(10000);
}

void in2()
{
  digitalWrite(LED1,HIGH);
  delay(1000000);
  digitalWrite(LED1,LOW);
  delay(10000);
}

โคดด้านบน ผมลองรันแล้ว เมื่อกดสวิทอินเตอร์รัพ มันก็จะเข้าไปทำอินเตอร์รัพ(แต่ต้องทำคำสั่งในอินเตอรัพเสร็จก่อนจึงจะกดอินเตอร์รัพได้อีกครั้ง)
สิงที่ผมต้องการคือ พอกดสวิทอินเตอร์รัพแล้ว งานอินเตอร์รัพรันยังไม่จบแต่มีการกดสวิทอินเตอร์รัพซ้ำก็ให้ไปทำอินเตอร์รัพตัวอื่น
โคตด้านบนผมแบ่งเป็นสองอินเตอร์รัพ
สรุปว่าผมต้องการกดอินเตอร์รัพได้รัวๆ (ให้มันสามารถออกไปทำคำสั่งอื่นได้รัวๆโดยไม่ต้องรอให้รันชุดคำสั่งใดๆจนจบชุดคำสั่งนั้นก่อน)
ขอคำแนะนำด้วยครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่