Как да забавите един часовников цикъл в STM32?

Въпросът е толкова прост, колкото и темата. Как да забавите точно един часовников цикъл в STM32? Ако контролерът работи на 168MHz, един тактов цикъл равен ли е на 1/168MHz, което е 5,95ns?


person richieqianle    schedule 26.05.2014    source източник
comment
Изглежда, че това може да даде отговора: stackoverflow.com/ въпроси/18220928/   -  person Jason Lewis    schedule 26.05.2014
comment
Току що прочетох темата, благодаря! Изглежда, че процесорът работи на базата на различна структура..   -  person richieqianle    schedule 26.05.2014
comment
Какво мога да направя, ако имам нужда от точно време за комуникация с хардуер, като много високоскоростен ADC?   -  person richieqianle    schedule 26.05.2014


Отговори (1)


Можете да опитате да използвате асемблиране във вашия C код. Това е доста лесно с функцията asm(). Вярвам, че ще изглежда така:

asm("NOP");

Това е само инструкцията за сглобяване на „Не правете нищо за този компютър“. Също така трябва да се уверите, че вашият компилатор не го оптимизира.

person Owl_Prophet    schedule 02.06.2014