En la red, he encontrado la siguiente función para el retraso en milisegundos para STM32F4 (Discovery board MCU
:
void delay_us(const uint32_t us)
{
us*=STM32_DELAY_US_MULT;
/* fudge for function call overhead */
//us--;
asm volatile(" mov r0, %[us] \n\t"
"1: subs r0, #1 \n\t"
" bhi 1b \n\t"
:
: [us] "r" (us)
: "r0");
}
Dentro de esta función, se usa la constante STM32_DELAY_US_MULT
, pero no se declara y no se compila, pero esto no es un problema actual. ¿Cómo se obtiene un reloj STM32F4
actual y se establece esta constante de acuerdo con esto? Si pregunto de otra manera, ¿cómo escribo la función de demora (milisegs) para STM32F4
proc, que es independiente del reloj?