cancel
Showing results for 
Search instead for 
Did you mean: 

HAL_Delay is offset by 2ms on the scope

CLH
Associate II

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!

1 ACCEPTED SOLUTION

Accepted Solutions

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

View solution in original post

1 REPLY 1

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