1000 microseconds is full left and 2000 microseconds is full right. This routine can be used only if interrupts are activated. 25 and 0. Posted by rtel on December 24, 2014. Which can be used to create a time base for various events in your applications (like LED blinking, short pulse generation, or whatever). Now let us compare delay for 1, 10, 100 and 1000 milliseconds using the vTaskDelay() function. jaainaveen February 21, 2019, 5:29am 1. This could change in future Arduino releases. Using simple code to write out the microseconds every delay(1000) I get the following: Zero - Delay Time: 20876. microsecond is sent to the station. ino" file to open it in your Arduino IDE. Then stop until the program receive other 3 values. Next, there's a short delay, followed by chirps at a higher tone with only two 500 microsecond delays. void delayMicroseconds (unsigned int us) { // calling avrlib's delay_us() function with low values (e. ("Time: "); time = micros(); Serial. millis () will wrap around to 0 after about 49 days (micros. 7 hours = 1000 * 60 * 60 * 7 = 25,200,000. The standalone would give me the required functionality using the delay() function for delays between 3 milliseconds and 1 millisecond. (There are 1000 milliseconds in a second. There are a thousand microseconds in a millisecond, and a million microseconds in a second. Two things: you cannot delay for 2 microseconds or 10 microseconds. //microseconds of on-time long OffTime = 2; //microseconds of off-time unsigned long previousMillis = 0; //will store last time viewTime was updated int. This number will overflow (go back to zero), after approximately 70 minutes. Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. If the ISR is getting executed during your measurement, then the execution time of the ISR will add to. 4294967295ms (2^32-1) or 49 days, after which the timer will catch up to the value of startMillis. With single digit millisecond or the microsecond. For the 2 microsecond delay, you'll probably spend more time looping around than you'll save removing the miniscule delay. The Arduino can count and measure time by utilizing the micros () or millis () functions. The same technique can be used with micros(). On a standard servo, this will set the angle of the shaft. Also keep in mind that the Arduino digitalWrite function is rather slow (it has to map the Arduino pin numbers to PORT/pin), so in your case it would be better to write to the PORT/pin directly. Currently I am using ebyte e32 for radio waves. Click the "Timer2_Counter_Basic_Example. 1 second. See the LED: The LED toggles between ON/OFF periodically every second. Aprender a usarlas cor. e. int outPin = 8; // digital pin 8void setup() { pinMode(outPin, OUTPUT); // sets the digital pin as output}void loop() { digitalWrite(outPin, HIGH); // sets the pin on. Pito's answer works, but more importantly, do you understand why it works? Also, the #include directive was never intended to be used with source code files (e. Here comes the point, both functions pause the program for the amount of time passed in delay function. All without using the delayMicroseconds() function. The Arduino programming. Does this sound possible?The Arduino that reads the wheel may detect edges using fast polling (read the pin 50+K/sec, no biggie with non-blocking code) or use an interrupt if you want to get closer than +/- 10 microseconds. (Hint: rename the class to microDelay and replace. delay(60000); // 1 minute = 60x1000 = 60,000 milliseconds. For delays longer than a few thousand. Which can be used to create a time base for various events in your applications (like LED blinking or whatever). An exact 100ns delay is not going to. Serial communication that. Just keep in mind that the Arduino micros() resolution is 4 microseconds and overflows every 70 minutes. Hope the info is helpful and maybe others can add new MCU's or tests. I also used portTICK_RATE_MS but the speed didnt change . For example, if value is HIGH, pulseIn() waits for the pin to go from LOW to HIGH, starts timing, then waits for the pin to go LOW and stops timing. optionally wait (block) until the servo move is complete, and create sequences of moves that run asynchronously. In order to measure to millisecond accuracy, it's necessary to use either the RTC timer in MODE0 (32-bit mode) and/or the TCC/TC timers. Central. Description Pauses the program for the amount of time (in milliseconds) specified as parameter. It is left as an exercise to the reader to write that class. Pin(pyb. Code Operation : Arduino millis as delay operation. If you need multiple tasks to occur at the same time, you simply cannot use delay (). By default Pico runs at 125MHz, so a single clock cycle takes 8ns (light travels 2. They seem incredibly poor in accuracy/consistency and I'm struggling to understand why. And there are 1,000 milliseconds in a second. ok. Forum 2005-2010 (read only) Syntax & Programs. Description. There is another function micros () that does exactly the same as millis (), except in microseconds, not milliseconds. Limitations of millis () and micros () Arduino millis() count the time in milliseconds and we can store that data in an unsigned long variable. */ void delayMicroseconds(unsigned int us) { // call = 4 cycles + 2 to 4 cycles to init us(2 for. Pauses the program for the amount of time (in microseconds) specified as parameter. This function will work good in the 2 digit millisecond range and above. e. On 16 MHz Arduino boards (e. For a 16 MHz clock, 1 NOP takes 1/16MHz to complete, (1/ (16*10^6) - Google Search )+seconds+to+nanoseconds. You use it a bit like micros(), except that you have to handle the wraparound explicitly, and because it counts down the subtraction is the other way around. More knowledgeable programmers usually avoid the use of delay () for timing of events longer than 10’s of milliseconds unless the Arduino sketch is very simple. It can do milliseconds or microseconds depending on which line containing the currentTime declaration is commented out. Done as Nick suggested. The Arduino Mega would give me the required functionality using either the delay() or the delayMicroseconds() function for delays between 3000 microseconds to 600 microseconds. Wir können nicht garantieren, dass delayMicroseconds () genau für kürzere Verzögerungszeiten funktionieren. Currently, the largest value that will produce an accurate delay is 16383. serial. BLOG_POST I highly Recommend reading my Blog Post above, there are graphs & Program & everything. It only takes a minute to sign up. 29 platformioの設定ファイルを「platformio. BLOG_POST I highly Recommend reading my Blog Post above, there are graphs & Program & everything. When the IDE opens, notice that it automatically opens the "Timer2_Counter. For example, with the Particle Photon you can use micros () to get the exact number of microseconds since 1970-01. Hi, it's me again with more stupid questions. unsigned long time; void setup() { Serial. . 現状, 正確に生成できる遅延の最大値は16383である。これより大きい値では、極端に短い遅延を生成するかもしれない。これは、将来のArduinoリリースで変更される可能性がある。数千マイクロ秒よりも長い遅延が必要なときは、delay()を利用すること. e delay(6400) equals to 1 sec delay time. } configura el número de pin 8 para trabajar como un pin de salida. If your application requires that you constantly. The arduino delay () function creates a blocking delay of the provided number of milliseconds. It covers non-blocking delays, non-blocking serial output, non-blocking user input, removing delays from third party libraries, and loop timers, so you can see and adjust the response/latency of your tasks. The period is actually 5. To do that, you need to make an output pin go Hi & Lo. Using Arduino LEDs and Multiplexing. For delays longer than a few thousand microseconds, you should use delay() instead. The demo Several Things at a Time illustrates the use of millis() to manage timing without blocking. delayMicroseconds (0) appears to malfunction and return (delay really) a much larger value, instead of returning asap. Even signed long may encounter errors as its maximum value is half that of its unsigned counterpart. The argument passed into time. This number will overflow (go back to zero), after approximately 70 minutes. When ı create a task using xTaskCreate() function and adding some delay in the task function. Use the button connected to pin 3 to increase the angle. -1 – counter number 0 so we insert -1 in the formula. g. More knowledgeable programmers usually avoid the use of delay() for timing of events longer than 10's of milliseconds unless the Arduino sketch is very simple. delayMicroseconds(us) ParametersDescription. one micro second at a time. The Arduino programming language Reference,. The program will wait for the delay, and the following number will be printed, etc. My arduino version is 1. microseconds micros : 10814 HPtimer = 10814 --> 10000 calls of micros() on core 1 (500µs longer) but value measured by the two functions give the same result microseconds micros core0 : 10835 microseconds HighPrecTimer: 10216 microseconds HighPrecTimer core0: 10504 microseconds micros : 10795 HPtimer = 10795. Plenz September 19, 2015, 9:45am 1. 2 - LEDs, I used one red and one green. First we will figure out the codes by reading the signal sent when the button is pressed. delayMicroseconds(us) Parameters Description. Der zurückgegebene Wert ist immer ein Vielfaches. 미래의 아두이노 릴리스에서 바뀔 수 있다. The PCNT is able to detect a pulse down to: For the counter not to miss any pulses, the pulse duration should be longer than one APB_CLK cycle (12. It is left as an exercise to the reader to write that class. So you would need 8 dummy instructions to delay half a microsecond. Syntax. Isso pode mudar em versões futuras do Arduino. Busy wait can be done this way, is likely to continue processing earlier: Code: Select all. I have developed an algorithm through which I am measuring pulse width by giving the pulses to the digital pin D8, my code takes one count after every 4 microseconds and then I have applied a formula in my code through which. There are a thousand microseconds in a millisecond, and a million microseconds in a second. }. If the time A sends the signal is TSA,; the time. (Plus 1 for the rollover). I can't get a second's delay with delay (1000) or delayMicroseconds (1000000) Instead, delay (230000) would give. There are a thousand microseconds in a millisecond, and a million microseconds in a second. millis () is incremented (for 16 MHz AVR chips and some others) every 1. delay () is a blocking function. 0343 = 29. I've found that between two steps, I need a delay of 25. delay (1) = 494 Hz at flow computer. 2 things that come to my mind: -Either the micros() function is not. 16 Hz which is fine. So that's may be the different between the Arduino delay function and the HAL delay function. MHz May 14, 2016, 6:14pm 1. 2 Likes. However, this crashes my ESP32 every time. #include <PinFlasher. The argument is an unsigned long which on a 16-bit Arduino is a 32-bit unsigned integer type, having a maximum value of 4,294,967,295. **This code works in Arduino with the delayMicroseconds () function. micros () last for 2^32 micros = 4295 seconds = ~71. The ESP32 has a module called the PCNT, Pulse Counter. We will be looking at each of these instructions that are available for our program using productivity blocks. Note that some manufactures do not follow this. Example Code. All good so far, using the delay command I can read frequencies up to 494 Hz, with the delay 1 microseconds. when the timer reach b_value do something. We cannot assure that delayMicroseconds will perform precisely for smaller delay-times. println(time); //prints time since program started delay(1000); // wait a second so as not to send massive amounts of data } Notes. Certain things do go on while the delay () function is controlling the Atmega chip, however, because the delay function does not disable interrupts. Nothing. Pulse width in microseconds (like pulseIn in Arduino) General discussions and questions abound development of code with MicroPython that. As such,. g. Sound travels at 343 meters per second, which means it needs 29. . For delays longer than a few thousand microseconds, you should use delay() instead. The off-the-shelf micros() function has a resolution of 1/256th of about a millisecond, so pick 4, 8 or 12. board. You can easily find or write a piece of code that delays for 12500 nanoseconds (+/-62. Does the one you quoted do what you want? Here it is written as a regular Arduino function. On standard servos a parameter value of 1000 is fully counter-clockwise, 2000 is fully clockwise, and 1500 is in the middle. It’s only delaying for 8. Pauses the program for the amount of time (in microseconds) specified as parameter. If your program needs to wait for something to happen you can easily do that. Similarly, there is a WE (Write enable) pin which, when given low pulse of width less than 1 microsecond, writes to selected byte taking data from I/O pins. the overhead // of the function call yields a delay of. Pauses the program for the amount of time (in microseconds) specified as parameter. We added a 1000 microseconds delay in the above code. when the timer reach b_value do something. cc analogRead() - Arduino Reference. 5 minutes so just more than one hour. I am stuck once more and i need help. If your application requires that you constantly. Descrição. Ex: delay(3 * 60 * 1000); will make the program sleep for 3 minutes. begin(9600);} void. Are you using the Arduino platform for ESP32 development? If so, I think `delayMicroseconds()` is available. jaainaveen February 21, 2019, 5:29am 1. Second line of the code is the problem. This could change in future Arduino releases. Running a number of times or forever. I am programming in C++ using the Arduino IDE and cannot get better than 7. delayMicroseconds() works. You could divide the result by 84 to get microseconds, but if you are after a specific delay would be better to multiply the delay you require by 84 to get it in clock ticks. delay (5000) - means delay of 5 sec. IN,. vTaskDelay(500 / portTICK_RATE_MS); You can use vTaskDelay () even if not using FreeRTOS tasks. Hi all, I am making a program to accept three values (a_value, b_value and c_value), . The values will be in milliseconds. Navigate to the zip file you downloaded and select it. 7 days. I can't seem to find an elegant. The first delay of 2us is to make sure we are at an established LOW level on the trigger pin, since the pin might have been HIGH before that. Internally, esp_timer uses a 64-bit hardware timer, where the implementation depends on the target. Any delay over 1024us will include timer0 interrupts, and in your example you'll also have serial interrupts. pulseIn(echoPin, HIGH) will actually wait for the ECHO pin go HIGH, then start measuring the pulse length until it goes LOW again. Using Arduino Programming Questions. MICROSECONDS_PER_TIMER0. It doesn't use timer0 like the AVR Arduinos, so you won't mess up these functions by using any of the timers. get microseconds, up to a couple of hours, I think. } configura el número de pin 8 para trabajar como un pin de salida. // Initializing the variable with the time BEFORE the count. There are a thousand microseconds in a millisecond, and a million microseconds in a second. The timer has built in "prescaler" value options which determine frequency/period, shown in this table:Introduction: millis() and delay() Function in Arduino With Examples-Arduino, the popular open-source electronics platform, has revolutionized the world of DIY projects and automation. 현재, 정확한 delay를 만드는 가장 큰 값은 16383. h> //Setup the variables for the HC-SR04 // initializer supposed to be before const int trigPin = 6; // thats the problem const int echoPin = 7; // create servo object to control a servo // a maximum of eight servo objects. 0, if you wanted 50 milliseconds, it would be 0. Returns the number of microseconds since the Arduino board began running the current program. 003 milliseconds. Using "delayMicroseconds ()", that delay can be specified with microsecond resolution. Returns the length of the pulse in microseconds or gives up and returns 0 if no complete pulse was received within the timeout. There are a thousand microseconds in a millisecond, and a million microseconds in a second. Yes, delay (8000); in your void timeDelay () {. . e. Pauses the program for the amount of time (in miliseconds) specified as parameter. Microsecond delay within task. delayMicroseconds () deaktiviert ab Arduino 0018 keine Interrupts mehr. Passing zero to the delayMicroseconds function leads to a huge delay. 11us per degree. La aproximación es debida a la ejecución de las otras instrucciones en el código. I'm messing around with the following code: #define cyclespermicro 240 #define microcycles (n) (n*cyclespermicro) uint32_t startCounter, counter, cpu_cycles; int. I also added in delay () for values in milliseconds. The Arduino millis () is a timer-based function that returns to you the time elapsed (in milliseconds) since the Arduino board was powered up. I noticed that the delayMicroseconds () only accepts. If you need to generate a 1-minute time delay with Arduino, you can still use the delay() function. Arduino0. To record time in milliseconds, we. Duemilanove and Nano), this function has a resolution of four microseconds (i. How do I get millisecond and microsecond-resolution timestamps in Python? I'd also like the Arduino-like delay() (which delays in milliseconds) and delayMicroseconds() functions. Description. 매개변수에 지정된 시간 (마이크로 초)동안 프로그램을 멈춘다. 1 (I attached a pic of my about box). When the chosen time has passed the timer interrupt triggers, and you use that interrupt to turn on your output. There are a thousand microseconds in a millisecond, and a million microseconds in a second. I soldered a simple 8 bit R2R DAC to digital pins 0-7. There is hardware PWM on six output pins, but if you meant to make a square wave in software, the delay(int milliseconds) won't delay for less than one millisecond. If you want to make your Arduino sleep for 1 minute, or for multiple minutes, then it’s quite easy. delayMicroseconds() calls it at least twice. delayMicroseconds(us) Parameters Description. There are 1,000 microseconds in a millisecond and 1,000,000 microseconds in a second. Returns the number of microseconds since the Arduino board began running the current program. 5 microsecond wide pulse every 249 microseconds- any suggestions on a better way? here is whats running:For example, I know how to step the motor, then delay 500 microseconds, then step it again. Also, if you're clocking the RTC peripheral using 32. However, be aware that micros. With 5 microseconds they were 0 and 1022 or 1023. Currently, the largest value that will produce an accurate delay is 16383. Jumper wires. Those timer modules are used to generate PWM output signals and provide timing & delay functionalities to the Arduino core, and we can also use them to run in any mode to achieve the desired functionality as we’ll see later on in this tutorial. Hi, I need the Arduino to provide a signal 100 - 10000 ns "high" in a 57,5 Hz cycle. e. A digitalRead () is about 3. Just like delay () has a microsecond-version called delayMicroseconds (), millis () has micros (). delayMicroseconds. On a standard servo, this will set the angle of the shaft. La aproximación es debida a la ejecución de las otras instrucciones en el código. Atualmente, o maior valor que irá porduzir um delay preciso é 16383. Here, Arduino Playground - How and Why to avoid delay(), delay(). Description Pauses the program for the amount of time (in microseconds) specified as parameter. */ void delayMicroseconds (unsigned int us) { // calling avrlib's delay_us () function with low values (e. Blocking functions prevent a program from doing anything else until that particular task has completed. These values are in microseconds when. Currently, the largest value that will produce an accurate delay is 16383. Há mil microssegundos em um milissegundo, e um milhão de microssegundos em um segundo. Re: help delayMicroseconds() on esp? Post by dmaxben » Wed Aug 04, 2021 12:36 pm . I discovered this experimenting with a sound synthesis program with a variable for the. 2 microseconds per loop iteration in addition to the explicit delays. The Arduino millis () is a timer-based function that returns to you the time elapsed (in milliseconds) since the Arduino board was powered up. Check out the image below for a step-by-step process to set up a loop and create your own beep: The ATtiny85 first loops with a delay of 750 microseconds, or 1500 microseconds total per cycle. g. Currently, the largest value that will produce an accurate. . Here is a code example for a 1-minute time delay in Arduino. Currently, the largest value that will produce an accurate delay is 16383. In LiquidCrystal bundled with the Arduino IDE 0016, the functions “clear()” and “home()” use delayMicroseconds to pause for 2000 microseconds. 155 μs/cm. I'm not sure if it's a problem with not counting the time instructions in arduino take, but I think it's weird I always get the two same results no matter the distance. Pauses the program for the amount of time (in microseconds) specified as parameter. We just need to define the pin to which the servo is connect, define that pin as an output, and in the loop section generate pulses with the specific duration and frequency as we explained earlier. TWO - a blocking delay, but one that does NOT use timers (timer0, timer1, or timer2) and is able to work with libraries which have a lot of timing issues or which corrupt millis() or timer0 counts. import cc. The Arduino core uses hardware Timer0 with its ISR (Interrupt Service Routine) for timekeeping. At this stage, you should see new examples appear under the file menu, and the following code should compile. But for some reason Timer0 is being disabled, and can't use the delay(), millis() and delayMicroseconds(). h). Returns the length of the pulse in microseconds or gives up and returns 0 if no complete pulse was received within the timeout. The pulses are sampled on the edges of the APB_CLK clock and may be missed, if fall between the edges. This could change in future Arduino releases. Then we'll take that data and make the Arduino spit out that code into an IR LED once a minute. This function is used to read counter value in microseconds of the timer. If delay is larger than 10 milliseconds and not in ISR, it is the same as wait_ms. Serial. Arduino Reference - Arduino Reference This page is also available in 2 other languagesThe Time1. Duemilanove and Nano), this function has a resolution of four microseconds (i. This number will overflow (go back to zero), after approximately 70 minutes. The datasheet of this chip says that the width of pulse on WE pin to write onto the. Nothing discussed actually creates a pulse tho. ollie1400 pushed a commit to ollie1400/Arduino that referenced this issue on May 2, 2022. Check the RTOS documentation to see how to cause a thread to wait. I dont get any delay even if I add some different delays. This number will overflow (go back to zero), after approximately 70 minutes. However, delayMicroseconds only works for input values up to 16,383, or 16. By subtracting first value from current we get a value of how many milliseconds or microseconds have elapsed, and if enough time has passed, we replace the snapshot with a current value and wait for the difference to reach our desired interval value again. Arduino micros () Function. But, with default pulse width limits range of 544-2400 µs, the Arduino will send a signal of ~1000 µs for an angle of 44°. Serial communication that. For a full example, refer to PlatformIO ESP-IDF ESP32 blink example. There is an OC (output enable) pin which, when grounded, gives output of selected byte from 8 I/O pins. Click the tab to view its contents, including detailed descriptions of the available functions. But in the code, Timer 0 is disabled and so delay(), millis() etc won't work. The arduino-esp32 core achieves this using the following code for the delayMicroseconds() func. (There are 1000 milliseconds in a second. When you use millis () to time events instead of delay (), your code keeps on looping and allows it to do other tasks. g. Usually for non-blocking you would mark the time and carry on, returning from time to time, via the loop, to see if a prescribed period has passed. I chose the ESP32 because of its 240MHz clock, but it still seems to be having trouble. init(Pin. I need a prefect sampling rate so these 3 microseconds are going to add up quickly. Description Pauses the program for the amount of time (in milliseconds) specified as parameter. for each toggle, being 84 * 62. Setelah mempelajari Void, Void Setup, Void Loop, dan Serial Monitor pada artikel sebelumnya, kali ini kita akan mempelajari mengenai Delay, Pin Mode, dan Pemberian Perintah dasar pada ARDUINO IDE. I discovered this experimenting with a sound synthesis program with a variable for the delayMicroseconds param. Diese Funktion arbeitet im Bereich von 3 Mikrosekunden und mehr sehr genau. I have used these links: and Arduino Timer Interrupts Calculator And I believe the best way to do it is by using a CTC mode with Prescaler = 1 so with 16Mhz clock the compare match register OCRnA. Erfahrene Programmierer vermeiden normalerweise die Verwendung von delay () für das Timing von Ereignissen, die länger als 10 Millisekunden sind, es sei denn, der Arduino-Sketch ist sehr einfach. This delay should ideally be less than 100 microseconds. Pausa o programa pela quantidade de tempo especificada como parâmetro (em microssegundos). Para delays mais. Description. 876 microseconds Got response 3 round-trip delay: 880 microseconds Got response 4 round-trip delay: 1960 microseconds Got response 5 round-trip delay: 4128. (or Lo and back Hi) Usual fast way is Direct Port Manipulation (vs digitalWrite (pinX,. Share. Hello everyone. (Plus 1 for the rollover). com Add Delay in Microseconds in Arduino. If I compare with the pic 16lf1455 I used before the. g. (There are 1000 milliseconds in a second. The maximum period is 8388480 microseconds or about 8. 1. This could change in future Arduino releases. Certain things do go on while the delay () function is controlling the Atmega chip, however, because the delay function does not disable interrupts. Serial communication that appears. Switch to “Standby” mode, when you are not executing any task, which will allow us to save energy. Once downloaded, start the Arduino IDE then go to Sketch > Include Library > Add Zip Library. There are a thousand microseconds in a millisecond, and a million microseconds in a second. h) will allow you to busy-wait for a correct number of microseconds. Pauses the program for the amount of time (in microseconds) specified as parameter. To generate three independent 20 KHz PWM signals with different duty cycles on an Arduino Due, you can use the built-in hardware PWM support. Now, delay () only takes integers, but I need a higher resolution. system October 10, 2007, 12:28am 1. Check the blink Arduino program for an example. On standard servos a parameter value of 1000 is fully counter-clockwise, 2000 is fully clockwise, and 1500 is in the middle. 30 microsecond (Low) 1. 25 and 0. You won’t be able to go down to multiples of 1, 2 or 3 microseconds. The maximum single shot duration is 2 32 -1 ~ 50 days for ms or 72 min for µs. Here is the code. agdl mentioned this issue on Jan 9, 2015. Signal “high”-time has to be between 100 ns and 10000 ns. [imported] #576. Problem is, I cannot start them from outside before the time is over. Example code HC-SR04 with I2C LCD and Arduino. This could change in future Arduino releases. delay (200) = 2 Hz at the flow computer. 5nS, +/- interrupts/overhead/etc) or set up a timer to count exact clock cycles, and then convert to your preferred units at the user interface level. There are a thousand microseconds in a millisecond and a million microseconds in a second. One is transmitter which outputs ultrasonic sound pulses and the other is receiver which listens for reflected waves. Pauses the program for the amount of time (in microseconds) specified by the parameter. On a standard servo, this will set the angle of the shaft. You can use delayMicroseconds to delay short periods. micro có kiểu dữ liệu là unsigned int. I have some code running as a FreeRTOS task on my ESP32. I’m using Arduino 1. Arduino-delayMicroseconds()関数. Servo - writeMicroseconds () Writes a value in microseconds (us) to the servo, controlling the shaft accordingly. Initially, the code will set the servo at 90 degrees. e. Stop thinking in microseconds, and think in "clock cycles" or "nanoseconds" instead. The tick rate you set using configTICK RATE HZ sets the resolution of time you can use with FreeRTOS API functions. The respective interrupt gets fired even if you don't use delays. system March 16, 2012, 4:40pm 1.