tenés razón suky no se cumplen los tiempos, en mi caso es peor porque trabajaba con funciones de tiempo mayores y se adelanta unos 50 ms. Hasta ahora no me había dado cuenta y estuve buscando alguna explicación y no encontré nada...
Pero me puse el poncho detectivesco y descubrí que el rate se cumple pero lo que hace el RTOS es llamar a la función en rate-minor_cycle por ejemplo
#task(rate=400ms,max=50ms)
con un minor_cycle=50ms la función la llama en 350ms y con un minor_cycle=100 la función la llama a los 300ms
para los 400ms siempre se completan.
Esto lo probe cargando el .cof y simulando paso a paso.
Ahora supuestamente en tu caso el retraso es de 0.3 [ms] yo esperaría que fuese de 1 [ms], pero le cambie el clock al micro(procesor clock frecuency) a 40 Mhz (un bolazoooo) y se cumplió la regla
. No se que decirte, si lo que dije fue pura coincidencia o si el rtos del ccs trabaja así o el proteus nos está jugando una pasada. La cuestión es que estoy más perdido que "un piojo en la oreja" con este RTOS, encima tengo más preguntas sobre el ejercicio 3 y 4
...
Creo que somos malos estudiantes
(espero que el profe reiniertl no nos regañe) será mas saludable una vez terminado todos los ejercicios pasarse a algún otro RTOS.
Saludos!