X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=Demo%2FPIC18_WizC%2FDemo2%2Fmain.c;h=36efb5e9dd898521b6277241bbada715562b8232;hb=3ffe89d18ef2c06d06203b1b1091e65a98a395d2;hp=439ce303968e8f883e4931deb60b242c4a8a1588;hpb=17ae772ac12990f13d70e2b6cf3e0963104fae46;p=freertos diff --git a/Demo/PIC18_WizC/Demo2/main.c b/Demo/PIC18_WizC/Demo2/main.c index 439ce3039..36efb5e9d 100644 --- a/Demo/PIC18_WizC/Demo2/main.c +++ b/Demo/PIC18_WizC/Demo2/main.c @@ -1,33 +1,67 @@ /* - FreeRTOS.org V4.0.2 - Copyright (C) 2003-2006 Richard Barry. - - This file is part of the FreeRTOS.org distribution. - - FreeRTOS.org is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - FreeRTOS.org 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 - along with FreeRTOS.org; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - A special exception to the GPL can be applied should you wish to distribute - a combined work that includes FreeRTOS.org, without being obliged to provide - the source code for any proprietary components. See the licensing section - of http://www.FreeRTOS.org for full details of how and when the exception - can be applied. - - *************************************************************************** - See http://www.FreeRTOS.org for documentation, latest information, license - and contact details. Please ensure to read the configuration and relevant - port sections of the online documentation. - *************************************************************************** + FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd. + + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and 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 modification 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! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong? * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, training, latest information, + license and contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool. + + Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell + the code with commercial support, indemnification, and middleware, under + the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also + provide a safety engineered and independently SIL3 certified version under + the SafeRTOS brand: http://www.SafeRTOS.com. */ /* @@ -71,7 +105,7 @@ Changes from V3.0.1 /* Demo app include files. */ #include "integer.h" -#include "pollq.h" +#include "PollQ.h" #include "semtest.h" #include "flash.h" #include "partest.h" @@ -82,21 +116,21 @@ has been discovered. If an error has been discovered the check task runs more frequently - increasing the LED flash rate. */ #define mainNO_ERROR_CHECK_PERIOD ( ( portTickType ) 10000 / portTICK_RATE_MS ) #define mainERROR_CHECK_PERIOD ( ( portTickType ) 1000 / portTICK_RATE_MS ) -#define mainCHECK_TASK_LED ( ( unsigned portCHAR ) 3 ) +#define mainCHECK_TASK_LED ( ( unsigned char ) 3 ) /* Priority definitions for some of the tasks. Other tasks just use the idle priority. */ -#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + ( unsigned portCHAR ) 3 ) -#define mainLED_FLASH_PRIORITY ( tskIDLE_PRIORITY + ( unsigned portCHAR ) 2 ) -#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + ( unsigned portCHAR ) 1 ) -#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + ( unsigned portCHAR ) 1 ) -#define mainINTEGER_PRIORITY ( tskIDLE_PRIORITY + ( unsigned portCHAR ) 0 ) +#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + ( unsigned char ) 3 ) +#define mainLED_FLASH_PRIORITY ( tskIDLE_PRIORITY + ( unsigned char ) 2 ) +#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + ( unsigned char ) 1 ) +#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + ( unsigned char ) 1 ) +#define mainINTEGER_PRIORITY ( tskIDLE_PRIORITY + ( unsigned char ) 0 ) /* Constants required for the communications. Only one character is ever transmitted. */ -#define mainCOMMS_QUEUE_LENGTH ( ( unsigned portCHAR ) 5 ) +#define mainCOMMS_QUEUE_LENGTH ( ( unsigned char ) 5 ) #define mainNO_BLOCK ( ( portTickType ) 0 ) -#define mainBAUD_RATE ( ( unsigned portLONG ) 57600 ) +#define mainBAUD_RATE ( ( unsigned long ) 57600 ) /* * The task function for the "Check" task. @@ -107,7 +141,7 @@ static portTASK_FUNCTION_PROTO( vErrorChecks, pvParameters ); * Checks the unique counts of other tasks to ensure they are still operational. * Returns pdTRUE if an error is detected, otherwise pdFALSE. */ -static portCHAR prvCheckOtherTasksAreStillRunning( void ); +static char prvCheckOtherTasksAreStillRunning( void ); /*-----------------------------------------------------------*/ @@ -128,7 +162,7 @@ void main( void ) vStartLEDFlashTasks( mainLED_FLASH_PRIORITY ); /* Start the check task defined in this file. */ - xTaskCreate( vErrorChecks, ( const portCHAR * const ) "Check", portMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); + xTaskCreate( vErrorChecks, ( const char * const ) "Check", portMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); /* Start the scheduler. Will never return here. */ vTaskStartScheduler(); @@ -143,7 +177,7 @@ static portTASK_FUNCTION( vErrorChecks, pvParameters ) { portTickType xLastCheckTime; portTickType xDelayTime = mainNO_ERROR_CHECK_PERIOD; -portCHAR cErrorOccurred; +char cErrorOccurred; /* We need to initialise xLastCheckTime prior to the first call to vTaskDelayUntil(). */ @@ -172,23 +206,23 @@ portCHAR cErrorOccurred; } /*-----------------------------------------------------------*/ -static portCHAR prvCheckOtherTasksAreStillRunning( void ) +static char prvCheckOtherTasksAreStillRunning( void ) { - portCHAR cErrorHasOccurred = ( portCHAR ) pdFALSE; + char cErrorHasOccurred = ( char ) pdFALSE; if( xAreIntegerMathsTaskStillRunning() != pdTRUE ) { - cErrorHasOccurred = ( portCHAR ) pdTRUE; + cErrorHasOccurred = ( char ) pdTRUE; } if( xArePollingQueuesStillRunning() != pdTRUE ) { - cErrorHasOccurred = ( portCHAR ) pdTRUE; + cErrorHasOccurred = ( char ) pdTRUE; } if( xAreSemaphoreTasksStillRunning() != pdTRUE ) { - cErrorHasOccurred = ( portCHAR ) pdTRUE; + cErrorHasOccurred = ( char ) pdTRUE; } return cErrorHasOccurred;