Skip to main content
CLH
Associate II
Feb 5, 2020 12:41 PM UTC
Solved

HAL_Delay is offset by 2ms on the scope

The scope is showing the following code takes 602ms (I'm using the external crystal, so no jitter) this 2ms can be seen on top of any delay I set.

 while (1)

 {

HAL_GPIO_WritePin(GPIOB, profilingPin_Pin, GPIO_PIN_SET);

HAL_Delay(300);

HAL_GPIO_WritePin(GPIOB, profilingPin_Pin, GPIO_PIN_RESET);

HAL_Delay(300);

 }

The toggle of a pin takes 70-80ns so that isn't the issue. I have used the 16MHz clock

which still has the +2ms, and some jitter as expected.

Any insights on this will be greatly appreciated!

This topic has been closed for replies.
Tesla DeLorean
Tesla DeLoreanBest answer
Guru
Feb 5, 2020 1:21 PM UTC

Review the library source code.

Seem to recall it adds one and has +/- 1ms accuracy anyway.

Only required to be at least as long as requested.

If you want tighter resolution use a clock that ticks faster than 1 KHz.​

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..

1 reply

Tesla DeLorean
Tesla DeLoreanBest answer
Guru
Feb 5, 2020 1:21 PM UTC

Review the library source code.

Seem to recall it adds one and has +/- 1ms accuracy anyway.

Only required to be at least as long as requested.

If you want tighter resolution use a clock that ticks faster than 1 KHz.​

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..