Hola RGL. Este año dí un poco de C para una asignatura, en la que cambiaron el temario (antes ensamblador) pero como la aprové en diciembre lo toqué muy poco. Uno de los ejemplos que hicimos en prácticas era un reloj. Lo hicimos en el programa KEIL. Verás, el problema que tuve en C es que no controlas bien los bucles en los retardos porque no sabes las líneas de código ensamblador que crea el programa (una línea de C pueden ser 6,9,15.. de ensamblador). La solución a esto es compilar y una vez hecho esto te vas al fichero en ensamblador que crea y miras el código que ha creado y así vas refinando el número de veces que repites el bucle en C. Si, si, un coñazo aun sabiendo ensamblador. También descubrí una opción que tiene dicho programa que te da el tiempo que tarda en realizar las funciones que vas creando. Creé una función solo para el retardo y luego iba viendo el tiempo y asi iba cambiando el número de veces que se repetía el bucle hasta que conseguí el dichoso segundo. Pero de todos modos es muy impreciso. Nada como el control que tienes al programar directamente en ensamblador.
La solución creo que sería usar timers si los tienes disponibles, que es lo que hicieron en clase después, pero ese día ya no tuve que ir...
