hola, tengo un mega2560 al que solo probe el ejemplo blink, llevo dos dias mirandolo.
ASUNTO TIMERs.
el caso es que necesito dos contadores de eventos, y dos osciladores programables independientes (pwm), como el mega tiene 6 timer/counter, ya gasto 4,
y ademas me gusta que el programa salte interrupcion cada +o- 100us, "ticks", que a 16Mhz le llegan para hacer unas 1600 instruciones por interupcion, y dando una frecuencia de interupcion de 10khz.
muy util: para llevar cuenta del tiempo real, para hacer retardos, para atender cosillas, o para gestion de un altavoz metiendo palabras en una cola que la interupcion come bit a bit y manda al altavoz (max 5khz).
con esto ya van 5 timers y me sobra uno.
pero el sistema de arduino ha de usar otro timer, delayms() yo la haria con un tick, es posible que la hagan con un bucle bobo cronometrado, o que usen un timer.
Despues esta lo de los PWMs, todos de 8bits, y unos 500hz, pero el atmega da para 16bit/muchos hz, ademas hay algun pwmarduino que no es atmega. todo esto me lleva a pensar que los pwm son controlados por interrupcion de tiempo y no por los modulos del atmega.
Tambien el tema de TONE(), para no quedar colgao a pelotas que ha de usar un timer, almenos pude leer el .h de un TONE() mejorao que me parecio que elegia un timer libre.
en resumen:
¿TIENE EL SISTEMA ARDUINO ALGUN TIMER RESERVAO PA EL SOLITO?.
¿como me los reservo??
ASUNTO (DES)ENSAMBLADOR.
con el pic tenia un C que generaba un asm, con aquello aprendia, comprobaba, y depuraba.
¿COMO, DONDE VER EL DESENSAMBLADO?
o almenos, donde ver las tripas de las funciones.
REGISTROS
¿alguna instrucion para meter/sacar datos en los registros del atmega ?, (a parte del asm)