How to delay one clock cycle in STM32?
Asked Answered
B

1

8

The question is as simple as the topic. How to delay exact one clock cycle in STM32? If the controller runs at 168MHz, is one clock cycle equal to 1/168MHz, which is 5.95ns?

Berfield answered 26/5, 2014 at 6:49 Comment(3)
It seems like this might provide the answer: #18221428Seraph
I just read the thread, thanks! It seems that the processor is running based on a different structure..Berfield
What could I do if I need exact timing to communicate with hardwares, such as a very high speed ADC?Berfield
B
14

You can try to use assembly in your C code. Its quite easy with the asm() function. I believe it would look like this:

asm("NOP");

This is just the assembly instruction for 'Don't do anything for this PC tick'. Also you should make sure that your compiler does not optimize it out.

Bornholm answered 2/6, 2014 at 16:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.