En palabras se entiende, pero no veo como hacerlo con las funciones del RTOS de CCS. 
Perdon, pense q no se habia entendido mi idea jeje. Bueno, en rtos estan las funciones rtos_enable() y rtos_disable() para activar y desactivar tareas. No se si una tarea se puede desactivar a si misma, supongo q si. Entonces en la interrupcion de timer, la volvemos a activar.
Tambien hay una funcion interesante q es rtos_await(), q deja a la tarea dormida hasta q se cumpla una condicion. Entonces en el timer (o en alguna otra tarea), podemos ir incrementando una variable y q cuando llegue a tal valor, la otra tarea se activa.
Por ej, podemos setear el timer para q interrumpa cada 1ms e incremente count. entonces hacemos un rtos_await(count==50); y ahi tenemos nuestros 50ms de demora.
La verdad q no se si esto es lo mas eficaz... la verdad q yield ya presenta una solucion mucho mejor q usar delays. Pero se me ocurren estas cosas, habria q probar.
saludos!!!