Count1.ino 880 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #define __PROG__ "Count1"
  2. #include <jm_Scheduler.h>
  3. #include "led.h"
  4. //------------------------------------------------------------------------------
  5. long count = 0;
  6. jm_Scheduler count1_scheduler;
  7. void count1_coroutine()
  8. {
  9. led_toggle();
  10. count++;
  11. count1_scheduler.rearm_async(1);
  12. }
  13. jm_Scheduler count_scheduler;
  14. void count_coroutine()
  15. {
  16. Serial.println(count);
  17. count = 0;
  18. }
  19. //------------------------------------------------------------------------------
  20. void setup()
  21. {
  22. Serial.begin(115200);
  23. while (!Serial && millis()<3000); // timeout 3s for USB Serial ready
  24. Serial.print(F(__PROG__));
  25. Serial.print(F("..."));
  26. Serial.println();
  27. led_init();
  28. count1_scheduler.start(count1_coroutine); // Start coroutine immediately.
  29. count_scheduler.start(count_coroutine, TIMESTAMP_1SEC); // Start coroutine immediately and repeat it every 1s.
  30. }
  31. void loop()
  32. {
  33. yield();
  34. }