{ Simple LED toggle program for the STM32F4-Discovery board } { Copyright (C)2014-2018, Philip Munts, President, Munts AM Corp. } { } { Redistribution and use in source and binary forms, with or without } { modification, are permitted provided that the following conditions are met: } { } { * Redistributions of source code must retain the above copyright notice, } { this list of conditions and the following disclaimer. } { } { THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" } { AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE } { IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE } { ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE } { LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR } { CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF } { SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS } { INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN } { CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) } { ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE } { POSSIBILITY OF SUCH DAMAGE. } PROGRAM test_leds; VAR LD3_ORANGE : sbit AT GPIOD_ODR.B13; LD4_GREEN : sbit AT GPIOD_ODR.B12; LD5_RED : sbit AT GPIOD_ODR.B14; LD6_BLUE : sbit AT GPIOD_ODR.B15; orange : boolean; BEGIN { Configure LED outputs } GPIO_Digital_Output(@GPIOD_BASE, _GPIO_PINMASK_12); GPIO_Digital_Output(@GPIOD_BASE, _GPIO_PINMASK_13); GPIO_Digital_Output(@GPIOD_BASE, _GPIO_PINMASK_14); GPIO_Digital_Output(@GPIOD_BASE, _GPIO_PINMASK_15); { Initialize LED outputs } LD3_ORANGE := True; LD4_GREEN := False; LD5_RED := False; LD6_BLUE := False; { Toggle LED outputs } WHILE True DO BEGIN orange := LD3_ORANGE; LD3_ORANGE := LD4_GREEN; LD4_GREEN := LD6_BLUE; LD6_BLUE := LD5_RED; LD5_RED := orange; Delay_ms(100); END END.