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?
How to delay one clock cycle in STM32?
Asked Answered
It seems like this might provide the answer: #18221428 –
Seraph
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
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.
© 2022 - 2024 — McMap. All rights reserved.