วันหยุดยาวทีมงานไปเที่ยวกันหมด ฮิฮิ
จากข้อมูลที่คุณ mr_ratchata ให้มานับว่าฝีมือไปได้ไกลแล้ว
ตามปกติแล้วการการใช้ MCU วนลูปเพื่อสร้างฐานเวลามักจะใช้กับพวกตั้งเวลา ที่ไม่ละเอียดนัก
เช่นตั้งเวลาพัดลม, ตั้งเวลาประกอบอาหาร ส่วนเรื่องมาทำนาฬิกามักจะไม่ใช้กัน เพราะค่าเวลาจะผิดพลาด
ซึงอาจเกิดมาจาก MCU ไปทำงานอืนด้วย เช่นวนลูปเพื่อรับคีย์ สำหรับโปรแกรมเวลา, การกำเนิดเสียง เป็นต้น
- การแก้ไขก็คือใช้ Timer Interrupt แทน
(ดูตัวอย่าง) โดยการคำนวนหาค่าเริ่มต้นนับให้กับ
Timer ซึ่งก็อาจจะคำนวนหาค่าที่เหมาะสมไม่ได้
คือค่า error ยังไม่เป็น 0 อาจต้องเปลี่ยน XTAL เพื่อที่จะหารได้ลงตัว
- การใช้ RTC อย่างเช่น DS1307 มาช่วยนับว่าเหมาะสมครับ เพราะจะได้ฐานเวลาที่แม่นยำและการเขียนโค๊ดสะดวกกว่ามาก