Paso 4: Descubrir los huevos de Pascua ocultos
Operación del reloj
- Si se conecta el zumbador, firmware permite ajustar la alarma y el uso
- sola pulsación alterna a través de horas + minutos, alarma encendido/apagado + segundos y modos de suspensión
- pulsación larga entra en modo de configuración, pulsación larga posterior gira a través del menú
- ciclos de elementos de menú a través del sistema ALr, Cnt, AdJ, bri
- en modo de configuración de tiempo 'SEt', pulse brevemente entra en configuración
- una vez en configuración, oprima alternar dígitos valores (horas, minutos) a corto y largo prensa confirma
- opción de visualización 12H o 24H
- Asimismo en el modo de configuración de alarma de 'ALr', horas y minutos pueden introducirse
- opción de alarma activar o desactivar
- 'Cnt' selecciona la función de temporizador de cocina, ingrese los minutos y segundos, el largo Pulse para confirmar y comienza a contar hacia abajo
- 'AdJ' configuración del modo de calibrado, 0-60 'obtener el valor' se puede configurar para hacer más rápido, que cada unidad agrega aproximadamente el 0,5% para velocidad del reloj del reloj
- Cuando en modo de reposo, MCU va poder modo, consumiendo menos de 1uA de potencia, temporizador de vigilancia se establece para que el sistema despierta cada segundo de 1/8. Esto, sin embargo hace que el tiempo para ser siempre lenta tarda unos pocos ciclos para encender otra vez el MCU. por lo tanto debemos tener un valor de calibración para mantener con precisión
- últimos valores de configuración guardan en la EEPROM y se utilizará para la próxima potencia
- en ajuste atenuador de 'bri', corto Prensas ciclos a través de los niveles de brillo disponibles, pulsación larga confirma ajuste
- segmento conducido multiplexación incluye retrasos para compensar las diferencias del brillo para dígitos individuales. es decir. Cuando dislaying un número '8' nos quedamos más que mostrar un dígito '1' para compensar la pérdida de brillo al conducir varios segmentos.
Huevo de Pascua
Hay una característica oculta para el constructor aventurero a explorar. ¿Podría ser como un huevo de Pascua de software donde uno necesita observar la secuencia de pulsación de tecla o sincronización? ¿O será se reordenación el hardware para revelar el secreto?
para romper el huevo, usted puede:
1. en torno al proyecto y "empujar". No hay que muchos pines IO para empujar.
2. use mspdebug como simulador (modo difícil)
chrisc mspdebug sim Simulation started, 0x10000 bytes of RAM (mspdebug) prog 3p4w-clock.elf Erasing... Writing 128 bytes to f800... Writing 128 bytes to ff80... (mspdebug) reset (mspdebug) step ( PC: f804) ( R4: 0000) ( R8: 0000) (R12: 0000) ( SP: 0280) ( R5: 0000) ( R9: 0000) (R13: 0000) ( SR: 0000) ( R6: 0000) (R10: 0000) (R14: 0000) ( R3: 0000) ( R7: 0000) (R11: 0000) (R15: 0000) __low_level_init: f804: b2 40 80 5a 20 01 MOV #0x5a80, &__WDTCTL __do_copy_data: f80a: 3f 40 02 00 MOV #0x2, R15 f80e: 0f 93 TST R15 f810: 05 24 JZ __do_clear_bss f812: 2f 83 DECD R15
3. hacer uso del msp430-objdump contra el archivo elf. (más fácil camino, relativamente)