PWMs con offsets y diferentes frecuencias

Hola a todos,
Necesito una función que me genere un PWM a 8kHz con un ciclo de servicio variable, D, siendo D un argumento de la función (que será calculado a su vez por otra función). Otras 2 funciones que me generen 2 PWMs a 2kHz con un offset entre ambos. Esto último lo he conseguido haciendo uso de millis(). Ahora bien, cuando meto la señal de los 8kHz generado de forma análoga a los otros PWM todo se descuadra. Imagino que como las funciones están programadas por tiempo de ejecución al meter el PWM de 8kHz haya momentos en que se "solapen" las instrucciones y el Arduino atienda a una única instrucción.
Resumiendo, lo que intento conseguir es, que cuando se cumpla X condición, generar un PWM de 8kHz y tras un tiempo t1 generar otros 2 PWM a 2kHz con un offset t2 entre ellos.
¿Hay alguna otra manera de hacer lo que propongo? modificando los prescale obtengo frecuencias que no me sirven. Necesito 2kHz y 8Khz o valores próximos a estos.
Gracias de antemano y saludos,
Guillermo.

Mi estimado galindoggc un poco de google resuelve tu problema.

Google Arduino Frecuency Library, o Arduino Libreria Frecuencia, entontraras librerias en el mismo IDE que hacen eso.

Ejemplo : Link
Cualquier libreria de Timer tmb sirve porque genera un tick o disparo de la interrupcion cada X mseg o useg
Con eso determinas qué hacer con la salida.
Espero te ayude.

TimerOne es otro ejemplo y asi hay muchas mas.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.