
ใน interrupt ใช้ delay ไม่ได้ครับ สามารถใช้ millis() หรือ micros() เพื่อหน่วงเวลาได้
ตัวอย่างการหน่วงเวลาโดยไม่ใช้คำสั่ง delay ตามลิงค์นี้ครับ
https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
ผมสามารถใช้วิธีนี้หน่วงเวลานอก interrupt ได้มั้ยคับ
คือผม ต้องการหน่วงเวลาให้มอเตอร์ encoder หยุดในตำแหน่งที่ต้องการ สักพักแล้วค่อยเปลี่ยนตำแหน่งคับ ผมใช้ ดีเลแล้วรวนมากหรืออาจจะมีวิธีหยุด interrup ไว้ชั่วคราวก็ได้คับอยากรู้ต้องทำยังใง
ArduinoAll ขาย Arduino ซื้อ Arduino ทุกอย่าง เปลี่ยนชื่อเป็น AllNewStep