Stap 4: Ontdek de verborgen Easter Egg
Klok operatie
- Als zoemer is aangesloten, staat ingebouwde programmatuur voor alarm instelling en gebruik
- enkele knooppers knevels via uren + minuten, alarm aan/uit + seconden en slaap zedig
- lang indrukken komt instellingsmodus, latere lang indrukken roteert via menu
- menu items cycli Thru b-l SEt met ALr, Cnt, AdJ, bri
- in de tijdweergave setup 'SEt' voert kort indrukken setup
- eenmaal in setup korte pers knevel cijfer values (uren, minuten) en lang indrukken bevestigt
- keuze uit 12H of 24H weergave
- ook in 'ALr' alarm instellingsmodus, kunnen uren en minuten worden ingevoerd
- keuze van alarm in- of uitschakelen
- "Cnt" selecteert de keuken timer-functie, voer de minuten en seconden lang druk op om te bevestigen en graaf begint neer
- in 'AdJ' kalibratie instellingsmodus, 0-60 'krijgen waarde' kunnen worden ingesteld om de klok sneller, dat elke eenheid voegt ongeveer 0,5% om de kloksnelheid
- Wanneer in de slaapstand staat, MCU gaat aan de macht naar beneden modus, verbruiken minder dan 1uA van macht, watchdog-timer is ingesteld zodat systeem wakker-up elke 1/8 seconde. Dit maakt echter de tijdwaarneming worden altijd traag als duurt het een paar cycli voor vermogen opwaarts de MCU weer. Daarom moeten we de waarde van een kalibratie te houden nauwkeurig
- laatste instellingswaarden opgeslagen in EEPROM en zal worden gebruikt voor de volgende kracht tot
- in "bri" dimniveau, korte persen cycli door beschikbaar helderheidsniveaus, lang indrukken bevestigt instelling
- LED segment multiplexing omvat vertraging te compenseren helderheid verschillen voor afzonderlijke cijfers. IE. Wanneer een cijfer "8" Displaying blijven we langer dan een cijfer '1' om te compenseren voor het verlies van helderheid, tijdens het rijden meerdere segmenten weergeven.
Easter Egg
Er is een verborgen functie voor de avontuurlijke builder om te verkennen. Zou zoals een software easter egg waar men moet observeren sequentie van het indrukken van een toets of timing? Of het zal worden het opnieuw ordenen van de hardware om te onthullen het geheim?
voor spleet naar de ei, kan u wilt:
1. het project en de "zak" rond gebouwd. Er zijn niet dat veel IO pinnen te porren.
2. gebruik mspdebug als simulator (harde manier)
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. zorg voor msp430-objdump tegen de elf-bestand gebruiken. (gemakkelijkste manier, relatief)