You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
2.5 KiB
C
118 lines
2.5 KiB
C
/* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */
|
|
/* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */
|
|
/* ELIGIBILITY FOR ANY PURPOSES. */
|
|
/* (C) Fujitsu Microelectronics Europe GmbH */
|
|
/*------------------------------------------------------------------------
|
|
MAIN.C
|
|
- description
|
|
- See README.TXT for project description and disclaimer.
|
|
-------------------------------------------------------------------------*/
|
|
/*************************@INCLUDE_START************************/
|
|
|
|
|
|
/* TODO: Add comment here regarding the behaviour of the demo. */
|
|
|
|
|
|
/* Hardware specific includes. */
|
|
#include "mb91467d.h"
|
|
|
|
/* Scheduler includes. */
|
|
#include "FreeRTOS.h"
|
|
|
|
|
|
static unsigned portSHORT sState[ ledNUMBER_OF_LEDS ] = { pdFALSE };
|
|
static unsigned portSHORT sState1[ ledNUMBER_OF_LEDS ] = { pdFALSE };
|
|
|
|
/*-----------------------------------------------------------*/
|
|
static void vPartestInitialise( void )
|
|
{
|
|
DDR16=0xFF;
|
|
DDR25=0xFF;
|
|
}
|
|
/*-----------------------------------------------------------*/
|
|
|
|
void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
|
|
{
|
|
if (uxLED < ledNUMBER_OF_LEDS)
|
|
{
|
|
vTaskSuspendAll();
|
|
|
|
/* Toggle the state of the single genuine on board LED. */
|
|
if( sState[uxLED])
|
|
{
|
|
PDR25 |= (1 << uxLED);
|
|
}
|
|
else
|
|
{
|
|
PDR25 &= ~(1 << uxLED);
|
|
}
|
|
|
|
sState[uxLED] = !(sState[uxLED]);
|
|
|
|
xTaskResumeAll();
|
|
}
|
|
else
|
|
{
|
|
uxLED -= ledNUMBER_OF_LEDS;
|
|
|
|
vTaskSuspendAll();
|
|
|
|
/* Toggle the state of the single genuine on board LED. */
|
|
if( sState1[uxLED])
|
|
{
|
|
PDR16 |= (1 << uxLED);
|
|
}
|
|
else
|
|
{
|
|
PDR16 &= ~(1 << uxLED);
|
|
}
|
|
|
|
sState1[uxLED] = !(sState1[uxLED]);
|
|
|
|
xTaskResumeAll();
|
|
}
|
|
}
|
|
/*-----------------------------------------------------------*/
|
|
|
|
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
|
|
{
|
|
/* Set or clear the output [in this case show or hide the '*' character. */
|
|
if( uxLED < ledNUMBER_OF_LEDS )
|
|
{
|
|
vTaskSuspendAll();
|
|
{
|
|
if( xValue )
|
|
{
|
|
PDR25 |= (1 << uxLED);
|
|
sState[uxLED] = 1;
|
|
}
|
|
else
|
|
{
|
|
PDR25 &= ~(1 << uxLED);
|
|
sState[uxLED] = 0;
|
|
}
|
|
}
|
|
xTaskResumeAll();
|
|
}
|
|
else
|
|
{
|
|
uxLED -= ledNUMBER_OF_LEDS;
|
|
vTaskSuspendAll();
|
|
{
|
|
if( xValue )
|
|
{
|
|
PDR16 |= (1 << uxLED);
|
|
sState1[uxLED] = 1;
|
|
}
|
|
else
|
|
{
|
|
PDR16 &= ~(1 << uxLED);
|
|
sState1[uxLED] = 0;
|
|
}
|
|
}
|
|
xTaskResumeAll();
|
|
}
|
|
}
|
|
/*-----------------------------------------------------------*/
|
|
|