ได้ลองพิจารณาในเรื่องความไม่เป็น atomic ของตัวแปรหรือยังครับ
เนื่องจาก MCU เป็น 8-bit การเข้าถึงตัวแปร 16-bit จึงไม่สามารถทำให้เสร็จได้ในคำสั่งเดียว
Interrupt อาจเกิดขึ้นในระหว่างกำลังเข้าถึงตัวแปร 16-bit ทำให้ค่าในตัวแปร 16-bit นั้น ไม่เป็นไปอย่างที่ควรจะเป็น
เนื่องจาก MCU เป็น 8-bit การเข้าถึงตัวแปร 16-bit จึงไม่สามารถทำให้เสร็จได้ในคำสั่งเดียว
Interrupt อาจเกิดขึ้นในระหว่างกำลังเข้าถึงตัวแปร 16-bit ทำให้ค่าในตัวแปร 16-bit นั้น ไม่เป็นไปอย่างที่ควรจะเป็น