Como muchos otros, empecé con la plataforma Arduino y no puede vivir sin la función millis() útil. Cuando estudio nuevos MCU, una de las primeras cosas que hago es buscar la función millis(). Con el AVR, que función está ya disponible, usando Timer0 es la manera de localizar. Para STM8S, no he podido encontrar uno. Por lo tanto, debo construir uno. Después de un corto tiempo de aprendizaje, era capaz de hacer una biblioteca para que sea fácil de usar.
Principalmente, a esta función debemos utilizar un temporizador, en este caso yo uso Timer4, que es básico temporizador de 8 bits, y utilizaremos su interrupción desbordamiento. Abajo está el información de cómo usarlo:
- En primer lugar, en la principal fuente multa (normalmente main.c), la biblioteca debe ser llamada:
#include "tim4millis.h"
- En la parte de main(), debemos iniciar temporizador 4 llamando a la función TIM4_Init()
TIM4_init();
- Entonces, cuando necesitas saber millis actual desde el inicio, sólo tenemos que llamar la millis()
currentTime uint32_t = millis();
En el archivo adjunto está el archivo de encabezado y archivos de código fuente de la biblioteca de tim4millis y el archivo de ejemplo para demostrar cómo a parpadear el led (pin PB5) como en Esta junta de desarrollo de STM8S103F3P6 mínimo, usando millis().
Lo intentado pero no puede hacer los archivos de upleaded aparece, así, por favor visite mi repositorio de Github para los archivos de biblioteca y ejemplo.
Espero que esto le ahorrará algunas veces al iniciar con STM8S. Aclamaciones.