Bộ xử lý phải thực thi một cái gì đó. Bạn sẽ luôn có một vòng lặp "vô tận" ngay cả khi bạn đang thực hiện một số công việc trong trình xử lý ngắt.
Giải pháp tốt nhất phụ thuộc vào chính xác những gì bạn đang cố gắng làm.
Ưu điểm chính của việc sử dụng các ngắt là chúng cho phép bạn phục vụ các sự kiện trong thời gian thực trong khi chương trình chính của bạn đang làm một việc khác. Ngắt hẹn giờ đặc biệt cho phép bạn thực hiện một số hoạt động định kỳ trên cơ sở thời gian khá chính xác trong khi thực hiện một số xử lý khác.
Đối với hầu hết các thuật toán điều khiển, sẽ rất hữu ích khi có một số loại cơ sở thời gian (hoặc tần số cố định). Nếu đó là tất cả CPU của bạn đang làm, bạn có thể dễ dàng làm điều đó mà không bị gián đoạn bằng cách kiểm soát số chu kỳ / hướng dẫn trong vòng điều khiển hoặc bỏ phiếu hẹn giờ. Cả hai phương pháp sẽ đơn giản và hiệu quả hơn so với sử dụng ngắt. Ngắt là hữu ích hơn trong các hệ thống phức tạp hơn làm nhiều việc đồng thời (I / O, giữ thời gian, lập lịch, v.v.).
Nếu bạn đi với vòng lặp vô tận mà không bỏ phiếu hẹn giờ hoặc hiệu chỉnh thời gian cần thiết để chạy một vòng lặp của vòng lặp, bạn sẽ phải cẩn thận với các tình huống trong đó việc thêm nhiều mã trong vòng lặp của bạn sẽ thay đổi thời gian và hành vi của hệ thống điều khiển của bạn.
Nếu bạn thực hiện thuật toán điều khiển của mình trong ngắt hẹn giờ, bạn sẽ phải cẩn thận, bạn không cố thực hiện nhiều công việc hơn CPU có thể xử lý trong một "khe" một lần hoặc điều đó sẽ lại ảnh hưởng đến hành vi của hệ thống điều khiển của bạn.