วันพุธที่ 10 พฤษภาคม พ.ศ. 2566

ARDUINO 15 TIMER จับเวลา หน่วงเวลา คืออะไร ใช้งานอย่างไร milis micros delay delayMicrosecounds

 https://www.youtube.com/watch?v=u0zz-JP6_vI


โค้ดส่งฟรีShopee https://shope.ee/2AZNXQLS68 สินค้าราคาถูก http://bit.ly/2QyqooN


ARDUINO 15 TIMER จับเวลา หน่วงเวลา คืออะไร ใช้งานอย่างไร milis micros delay delayMicrosecounds

10/5/2566 SONGCHAI PRAPATRUNGSEE


/*จับเวลา 

milis(); // This number will overflow (go back to zero), after approximately 50 days.

micros(); // This number will overflow (go back to zero), after approximately 70 minutes.

หน่วงเวลา delay(ms); delayMicrosecounds(us);

  ใช้ unsigned long = 4,294,967,295

1วินาที = 1,000 มิลลิวินาที

1วินาที = 1,000,000 ไมโครวินาที

1นาที = 60วินาที

1ชั่วโมง = 3,600 วินาที

1วัน = 86,400 วินาที

4,294,967.295 = 49วัน 17ชั่วโมง 2นาที 46วินาที หรือประมาณ50วัน

4,294.967295  = 71นาที 34วินาที

 

   หน่วงเวลา

 delay(); //หน่วงเวลามิลลิวินาที

 delayMicroseconds(); // หน่วงเวลาไมโครวินาที ความแม่นยำ 3 - 16383

 

*/

 

long time ;

void setup() {

  // put your setup code here, to run once:

   pinMode(LED_BUILTIN, OUTPUT);

  Serial.begin(9600);

 

  time = micros(); //ประมาณ 70นาที จะเริ่มนับ 0 ใหม่

  Serial.print("time :    ");

  Serial.println(time);

}

 

void loop() {

  // put your main code here, to run repeatedly:

 

//  time = millis(); //ประมาณ50วัน จะเริ่มนับ 0 ใหม่

//  delay(1000);

//  time = millis()-time; //ประมาณ50วัน จะเริ่มนับ 0 ใหม่

//  Serial.print("time :    ");

//  Serial.println(time);

 

   time = micros(); //ประมาณ 70นาที จะเริ่มนับ 0 ใหม่

   delayMicroseconds(3);// accurately in the range 3 microseconds and up to 16383.

   time = micros()-time; //ประมาณ 70 นาที จะเริ่มนับ 0 ใหม่

   //time = micros(); //ถ้าเขียนแบบนี้ค่าที่ได้คลาดเคลื่อนมากกว่าลบ

   Serial.print("time :    ");

   Serial.println(time);

}

ไม่มีความคิดเห็น: