Solo una pregunta: Si realmente el timer trabaja en paralelo al resto del codigo sin interrumpirle. No deberia importar el nº de veces que se ejecuta por segundo, pero si yo el minimo necesito centesimas 0.01 sg. ¿que puedo hacerle a este para que solo opere 100 veces, en vez de 600 por segundo?, el codigo me liaria menos a la larga, y podria llegar a sustituir int16s x int8s
Esas 2 cosas en negrita me dicen:
- No sabes lo que es una interrupcion o como funciona en NINGUN microcontrolador.
- No sabes como funciona el timer.
Y el PWM es otro modulo, a no ser que sea demasiado lento y lo debas hacer con un timer.
Nuevamente esta todo explicado en el datasheet.
Si eso es lo que hice leer, pero respecto a los timer los registros del timer no entiendo de que hablaban, solo me equedado que el 7 corresponde a enable_disable(timer x). Tampoco consigo control sobre esto "get_timer0()" Se supone que es para leer el timer, pero en main() se limita a darme 6-7 y dentro de el, de lo unico que me valdria a mi es para generar numeros aleatorios.
No se que datasheet tenes pero el timer 0 involucra 2 registros en su control + 1 que es el contenido del timer,
- el registro de control del timer lo modificas con setup_timer_0(), El otro registro es el de interrupcion que activas o no la interrupcion enable_interrupt()
- el registro con el valor del timer lo seteas con set_timer0() y obtenes el valor con get_timer0()
Fin... terminaste tu Timer, tambien el timer 1 y 2 son "parecidos".
De tu interrupcion imagino que no tenes idea de como configurar el tiempo de la interrupcion sino que esta libremente. Muchas veces no da el tiempo con 8bits, asi que tenes que usar uno de 16 bits.