Estamos ejecutando FreeRTOS con CMSIS. ¿Es posible, utilizando CMSIS en el tablero de descubrimiento STM32F3, tener tareas periódicas ejecutándose con períodos de menos de 1 milisegundo de resolución? Queremos ejecutar tareas a 400 Hz, lo que significa que el período debe ser de 2.5 milisegundos. Todas las funciones relacionadas con los retrasos en CMSIS que he encontrado tienen una resolución de milisegundos. ¿Debemos reconsiderar el uso de CMSIS para nuestros propósitos?
EDIT 2: Una pregunta directa ahora, jeje. ¿Podría alguien mostrarme un ejemplo de cómo configurar una tarea para que se ejecute periódicamente con una frecuencia de 400 Hz con FreeRTOS, posiblemente utilizando CMSIS pero no limitado a ello, en la placa de descubrimiento STM32F3?
EDITAR: Voy a tratar de explicar con más detalle. La tarea es un controlador PID que debe ejecutarse lo más rápido posible, pero no más rápido que 432 Hz. Entonces 400 Hz parecía un número redondo. Esto significa que 2 ms es un período demasiado corto. Y la diferencia en la frecuencia de tareas entre 2 ms y, digamos, 4 ms es bastante dramática. Sin embargo, no sé cuánto jitter podemos aceptar. Pero probablemente no debería estar en el rango de milisegundos.
Parece que tenemos que hacer uso de las llamadas nativas de FreeRTOS para programar las tareas.
Estaríamos encantados de cambiar la utilización de la CPU por una mayor precisión en el tiempo, ya que probablemente no usaremos gran parte de los ciclos en actividades que no sean del SO.