Estoy buscando generar ondas cuadradas entre 50Hz y 150Hz con un PIC18F14K50, que se ejecuta con un cristal externo de 8MHz (XT).
Aparte de leer un valor analógico para la frecuencia de un potenciómetro y mostrar el valor en una pantalla de 7 seg, el PIC no hace nada excepto la onda cuadrada.
Mis opciones son usar el módulo PWM o simplemente escribir código que alterne el pin relevante entre 0
y 1
. No me importa necesariamente hacer esto último, excepto que habrá una ligera interrupción cuando periódicamente (tal vez un par de veces por segundo) recoja el valor del potenciómetro del ADC.
Nunca he hecho PWM antes, así que lo busqué. Hay un lugar donde puede escribir la frecuencia de su MCU y su frecuencia deseada, y le dará el código XC8 correspondiente. Cuando probé esto, parece que 8MHz en realidad podría ser demasiado rápido, y no puedo producir una onda cuadrada de 50-150Hz con el módulo PWM. Mi única opción es bajar a 500 kHz o usar el método manual.
¿Esto es correcto? ¿Realmente no puedo producir una onda cuadrada de 50-150Hz con el módulo PWM si mi MCU funciona a 8MHz? ¿Hay alguna forma mejor de lograr esta onda cuadrada?