3
ใช้ millis () และ micros () ภายในรูทีน interrupt
เอกสารสำหรับattachInterrupt()พูดว่า: ... millis()อาศัยการขัดจังหวะในการนับดังนั้นมันจะไม่เพิ่มขึ้นภายใน ISR เนื่องจากdelay()ต้องการการขัดจังหวะในการทำงานมันจะไม่ทำงานหากเรียกภายใน ISR micros()ทำงานในขั้นต้น แต่จะเริ่มทำงานผิดปกติหลังจาก 1-2 ms ... วิธีการที่ไม่micros()แตกต่างจากmillis()(ยกเว้นของหลักสูตรเพื่อความแม่นยำของพวกเขา)? คำเตือนข้างต้นหมายความว่าการใช้micros()ภายในรูทีนการขัดจังหวะเป็นความคิดที่ไม่ดีอยู่เสมอ บริบท - ฉันต้องการวัดอัตราการเต้นของชีพจรต่ำดังนั้นฉันจึงต้องทริกเกอร์รูทีนเมื่อสัญญาณอินพุทของฉันเปลี่ยนแปลงและบันทึกเวลาปัจจุบัน