Stap 2: Program de Microcontroller
Er zijn twee delen aan dit programma:
De programmacode is commentaar, gelieve te verwijzen naar het.
- Een programma dat zorgt voor een gemoduleerde verlichting-cyclus, die is gekoppeld aan een basispagina klok die houdt van dingen. De master klok houdt tijd door een periode van onderbreking van de vooraf ingestelde - door een periode die u wenst! Dat wil zeggen, is het onderbroken en verhoogd met een bedrag dat is gebaseerd op de grootte van de "modulation_step_period". Telkens wanneer die de master klok wordt onderbroken, een variabele genaamd "intensity_index_counter" stappen door 1. De indexwaarde van de "intensity_index_counter" haalt een overeenkomende waarde uit een matrix in het header-bestand "Data.h" en geeft het aan "TACCR1". Deze array vertegenwoordigen 1440 nummers op basis van een periode van 24 uur (1440 = 24 uur * 60 min/hr = x). Elke waarde in de array staat voor de tijd die het signaal actief over de "PWM_Period is" - Dit is effectief de taakcyclus. Merk op dat de getallen in de matrix worden gegenereerd vanuit een Gaussiaanse formule: f = ("frequency")*EXP(-0.5*((x-Xc/2)/100)^2).
- Een programma dat een signaal ontvangt van de UART en de intensiteit van de verlichting reprograms. Via de RX-poort op de microcontroller, zijn bytes gevoed in één-door-één van een Bluetooth-module, en gelezen door de microcontroller. Als de grootte van het teken groter dan 1 byte is, vervolgens elke byte-door-één in een array "Current_Time []" doorgegeven. Aangezien de bytes als char type reist, zijn ze vervolgens geconverteerd naar het type int en toegewezen aan "true_time", die toevallig case-by-case. Als de microcontroller alle informatie van de UART ontvangt een vlag is verhoogd "frame_received_flag" en de waarde van "intensity_index_counter" wordt overschreven door de "true_time". * Merk op dat de app geschreven voor het verzenden van bytes naar de microcontroller 1, 2, 3 stuurt, of 4-cijferige nummers gecodeerd in ascii.
- De programma-code werd samengesteld met behulp van Code componist Studio.