Đây là một câu hỏi lý thuyết nhiều hơn ... (Cũng là câu hỏi đầu tiên của tôi về Stack Overflow)
Tôi đang tự hỏi điều gì xảy ra với các thanh ghi vi điều khiển Atmel AVR (tức là ATTINY85) trong một lệnh đa chu kỳ.
tức là ADIW
mất hai chu kỳ để thêm ngay lập tức vào thanh ghi hai byte (word).
Tôi tưởng tượng rằng trong chu kỳ đầu tiên, một trong các byte được vận hành và sau đó trong chu kỳ tiếp theo, byte khác được vận hành. Nhưng quá trình này được xác định bất cứ nơi nào tôi có thể đọc? Và những gì về các hướng dẫn đa chu kỳ khác?
Về cơ bản, tôi quan tâm đến trạng thái của vi điều khiển sau mỗi chu kỳ riêng lẻ, ngay cả trong các hướng dẫn đa chu kỳ.
ADIW
cập nhật thanh ghi kết quả thấp hơn sau chu kỳ đầu tiên và thanh ghi kết quả trên sau chu kỳ thứ hai. Để thực hiện điều này, tôi theo dõi thủ công MCU bên ngoài thông qua đầu ra của chip khác và đặt lại MCU ban đầu ở giữa ADIW
hướng dẫn. Khi thiết lập lại, MCU sau đó đã kiểm tra các thanh ghi kết quả thấp hơn và cao hơn, và điều thú vị là chỉ có thanh ghi kết quả thấp hơn mới được cập nhật. Thay vào đó, nếu tôi đặt lại MCU sau khi hoàn thành ADIW
hướng dẫn, cả hai thanh ghi kết quả thấp hơn và cao hơn đã được cập nhật.