Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to delay one clock cycle in STM32?

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?

like image 937
richieqianle Avatar asked May 26 '14 06:05

richieqianle


1 Answers

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.

like image 121
Owl_Prophet Avatar answered Nov 17 '22 14:11

Owl_Prophet