ขอคำแนะนำการเขียนภาษาซี ให้เรียกใช้งานฟังก์ชั่นแค่ครั้งเดียวในเวลา 1 นาทีครับ

ขอคำแนะนำการเขียนภาษาซี เพื่อใช้งานกับไมโครคอนโทรลเลอร์ ให้เรียกใช้งานฟังก์ชั่นแค่ครั้งเดียวในเวลา 1 นาทีครับ คือผมเขียนโปรแกรมภาษาซี เพื่อตรวจสอบว่าถ้าเวลาที่เราตั้งไว้กับเวลาปัจจุบันตรงกันก็ให้เรียกฟังก์ชั่น show_delay มานับถอยหลังเป็นวินาทีตามที่ตั้งค่าไว้ครับ แต่พอเวลาตรงกันแล้วสมมุติตั้ง show_delay() ไว้ 10 วินาที โค้ดนี้มันจะวนรอบ show_delay() 10 วินาทีไปเรื่อยๆจนนาทีเพิ่มขึ้นอีก 1 ครับ ถ้าให้ break มันก็จะหลุด while ไปเลย ไม่โชว์เวลานาฬิกาอีก show_clock() ไม่ทราบว่าต้องเขียนยังไงให้เมื่อเวลาปัจจุบันตรงกับเวลาที่ตั้งค่าไว้ให้เรียก show_delay แค่ครั้งเดียวแล้วค่อยเรียกอีกครั้งเมื่อนาทีปัจจุบันเปลี่ยนครับ โดยสร้างตัวแปรเพิ่มน้อยที่สุดครับ เพราะหน่วยความจำเต็มแล้วครับ ขอคำแนะนำด้วยครับ

while(TRUE){

   DS1307_ReadTime();
   
   if((set.hr==now.hr) && (set.min==now.min)){
    show_delay();   
}
show_clock();

}

แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่