ขอคำแนะนำการเขียนภาษาซี เพื่อใช้งานกับไมโครคอนโทรลเลอร์ ให้เรียกใช้งานฟังก์ชั่นแค่ครั้งเดียวในเวลา 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();
}
ขอคำแนะนำการเขียนภาษาซี ให้เรียกใช้งานฟังก์ชั่นแค่ครั้งเดียวในเวลา 1 นาทีครับ
while(TRUE){
DS1307_ReadTime();
if((set.hr==now.hr) && (set.min==now.min)){
show_delay();
}
show_clock();
}