Skip to main content
CLH
Associate II
February 5, 2020
Solved

HAL_Delay is offset by 2ms on the scope

  • February 5, 2020
  • 1 reply
  • 1248 views

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.
Best answer by Tesla DeLorean

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.​

1 reply

Tesla DeLorean
Tesla DeLoreanBest answer
Guru
February 5, 2020

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 VenmoUp vote any posts that you find helpful, it shows what's working..