Simply check if 'seconds' is 60 or whatever, if it is, then execute your code. The interrupt gets called every 1 second and adds 1 to 'seconds'. I tested its accuracy and it works consistently down to the microsecond. ![]() Create a Countdown Timer that counts down in seconds, minutes, hours and days to any date, with time zone support. Here is a slightly modified program I made to easily set up timed interrupts. Create one or multiple timers and start them in any order. This code sets the prescaler to 1024, as slow as you can get.Ī prescaler of 1024 allows for a maximum time of 8388.608mS or ~8.3 seconds clockSelectBits = _BV(CS12) | _BV(CS10) So, cycles is NOT less than RESOLUTION - 1, therefore it was more than maximum You can pause and resume this timer anytime by clicking the Pause or Resume buttons. If(cycles < RESOLUTION) clockSelectBits = _BV(CS10) // no prescale, full xtalĮlse cycles = RESOLUTION - 1, clockSelectBits = _BV(CS12) | _BV(CS10) // request was out of bounds, set as maximum long cycles = (F_CPU / 2000000) * microseconds // the counter runs backwards after TOP, interrupt is at BOTTOM so divide microseconds by 2 Your code, which would have showed me the library you were usingĪnyway, here is what I found in the library I ASSUME you are using. I had to do alot of googling, which most people WILL NOT DO, simply because you failed to tell us basic things about your problem, such as: ![]() First of all, PLEASE read the How To Use This Forum thread before you post.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |