Cordial saludo, estoy tratando de incrementar la frecuencia PWM de un pin en arduino.
Encontré algunos hilos en el foro pero están dedicados a TMR 0 y 1
No comprendo mucho como modificar los registros asociados.
Basándome en las tablas que dejo a continuación creería que para no tocar delay(), millis(), micros(). que las maneja el TMR0, podría utilizar el TMR2?
Me gustaría obtener una frecuencia entre 4 -10 kHz.
Al parecer hay una forma de modificar los registros, alguna idea por dónde empezar?.
Gracias de antemano.
Pins | Timer | Prescalers | Frecuencia |
---|---|---|---|
5, 6 | Timer0 | 64 | 977Hz |
9, 10 | Timer1 | 64 | 490Hz |
3, 11 | Timer3 | 64 | 490Hz |
Timer 0 Arduino
Es de 8bits. Usado para las funciones delay(), millis(), micros(). Es conveniente NO modificar este TIMER para evitar alterar estas funciones que son muy comunes en nuestros códigos
Timer 1 Arduino
Es de 16 bits. Usado por la librería Servo en Arduino Uno (Timer5 para Arduino Mega). Se usa principalmente para el control de Servos, sin embargo, si no estas controlado servos, puedes usar este timer 1 arduino libremente.
Timer 2 Arduino
Es de 8 bits. Usado en la función tone() . Si no usas este módulo, puedes emplear el timer 2 Arduino libremente para temporizar otra aplicación.