| /* |
| FreeRTOS V6.0.5 - Copyright (C) 2010 Real Time Engineers Ltd. |
| |
| *************************************************************************** |
| * * |
| * If you are: * |
| * * |
| * + New to FreeRTOS, * |
| * + Wanting to learn FreeRTOS or multitasking in general quickly * |
| * + Looking for basic training, * |
| * + Wanting to improve your FreeRTOS skills and productivity * |
| * * |
| * then take a look at the FreeRTOS eBook * |
| * * |
| * "Using the FreeRTOS Real Time Kernel - a Practical Guide" * |
| * http://www.FreeRTOS.org/Documentation * |
| * * |
| * A pdf reference manual is also available. Both are usually delivered * |
| * to your inbox within 20 minutes to two hours when purchased between 8am * |
| * and 8pm GMT (although please allow up to 24 hours in case of * |
| * exceptional circumstances). Thank you for your support! * |
| * * |
| *************************************************************************** |
| |
| This file is part of the FreeRTOS distribution. |
| |
| FreeRTOS is free software; you can redistribute it and/or modify it under |
| the terms of the GNU General Public License (version 2) as published by the |
| Free Software Foundation AND MODIFIED BY the FreeRTOS exception. |
| ***NOTE*** The exception to the GPL is included to allow you to distribute |
| a combined work that includes FreeRTOS without being obliged to provide the |
| source code for proprietary components outside of the FreeRTOS kernel. |
| FreeRTOS is distributed in the hope that it will be useful, but WITHOUT |
| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| more details. You should have received a copy of the GNU General Public |
| License and the FreeRTOS license exception along with FreeRTOS; if not it |
| can be viewed here: http://www.freertos.org/a00114.html and also obtained |
| by writing to Richard Barry, contact details for whom are available on the |
| FreeRTOS WEB site. |
| |
| 1 tab == 4 spaces! |
| |
| http://www.FreeRTOS.org - Documentation, latest information, license and |
| contact details. |
| |
| http://www.SafeRTOS.com - A version that is certified for use in safety |
| critical systems. |
| |
| http://www.OpenRTOS.com - Commercial support, development, porting, |
| licensing and training services. |
| */ |
| |
| /* FreeRTOS.org includes. */ |
| #include "FreeRTOS.h" |
| |
| /* Demo application includes. */ |
| #include "partest.h" |
| |
| #define LED_1 ( 1UL << 8UL ) |
| #define LED_2 ( 1UL << 7UL ) |
| #define LED_3 ( 1UL << 6UL ) |
| |
| #define partstFIO1_BITS ( LED_2 | LED_3 | LED_1) |
| #define partstNUM_LEDS ( 3 ) |
| |
| static unsigned long ulLEDs[] = {LED_1, LED_2, LED_3}; |
| |
| /*----------------------------------------------------------- |
| * Simple parallel port IO routines. |
| *-----------------------------------------------------------*/ |
| |
| void vParTestInitialise(void) |
| { |
| /* LEDs on port 2. */ |
| GPIO2->FIODIR |= partstFIO1_BITS; |
| |
| /* Start will all LEDs off. */ |
| GPIO2->FIOSET = partstFIO1_BITS; |
| } |
| /*-----------------------------------------------------------*/ |
| |
| void vParTestSetLED(unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue) |
| { |
| if (uxLED < partstNUM_LEDS) { |
| if (xValue) { |
| GPIO2->FIOCLR = ulLEDs[uxLED]; |
| } else { |
| GPIO2->FIOSET = ulLEDs[uxLED]; |
| } |
| } |
| } |
| /*-----------------------------------------------------------*/ |
| |
| void vParTestToggleLED(unsigned portBASE_TYPE uxLED) |
| { |
| if (uxLED < partstNUM_LEDS) { |
| if (GPIO2->FIOPIN & ulLEDs[uxLED]) { |
| GPIO2->FIOCLR = ulLEDs[uxLED]; |
| } else { |
| GPIO2->FIOSET = ulLEDs[uxLED]; |
| } |
| } |
| } |
| /*-----------------------------------------------------------*/ |
| |
| unsigned portBASE_TYPE uxParTextGetLED(unsigned portBASE_TYPE uxLED) |
| { |
| if (uxLED < partstNUM_LEDS) { |
| return (GPIO2->FIOPIN & ulLEDs[uxLED]); |
| } else { |
| return 0; |
| } |
| } |
| /*-----------------------------------------------------------*/ |