Tengo un programa que varía el tiempo de paso y el ciclo de trabajo para una secuencia de conmutación de 6 pasos. Toma un resultado de ADC de 8 bits y lo almacena como el valor TMR0, cuando TMR0 se desborda, el ISR selecciona la siguiente secuencia.
Tengo 2 problemas:
- Esto solo funciona en bajas frecuencias INTOSC, donde UART no funcionará, y
- No obtengo un rango de pasos lo suficientemente grande.
¿Alguna idea general sobre cómo crear un retraso de mayor rango en una frecuencia más alta? Mi primera idea es usar un bucle anidado, aún usando un valor TMR0, y luego colocar dentro de un bucle los pasos al revés de TMR0 veces ...