Remove unnecessary use of portLONG, portCHAR and portSHORT.

Change version number in headers.
This commit is contained in:
Richard Barry 2009-10-05 10:57:40 +00:00
parent 4322b8d649
commit 23a5a73219
59 changed files with 2136 additions and 2087 deletions

View file

@ -1,48 +1,49 @@
/*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd.
FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution.
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.
Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full
license details.
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.
Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full
license details.
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.
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 along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
***************************************************************************
* *
* Looking for a quick start? Then check out the FreeRTOS eBook! *
* See http://www.FreeRTOS.org/Documentation for details *
* *
***************************************************************************
***************************************************************************
* *
* The FreeRTOS eBook and reference manual are available to purchase for a *
* small fee. Help yourself get started quickly while also helping the *
* FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
* *
***************************************************************************
1 tab == 4 spaces!
1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the
online documentation.
Please ensure to read the configuration and relevant port sections of the
online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
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.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.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#ifndef FREERTOS_CONFIG_H
@ -68,10 +69,10 @@
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 98000000 )
#define configCPU_CLOCK_HZ ( ( unsigned long ) 98000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 200 - ( unsigned portSHORT ) configSTACK_START )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 200 - ( unsigned short ) configSTACK_START )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 6 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 8 )
#define configUSE_TRACE_FACILITY 0

View file

@ -1,48 +1,49 @@
#/*
# FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd.
# FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
#
# This file is part of the FreeRTOS distribution.
# 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.
# Alternative commercial license and support terms are also available upon
# request. See the licensing section of http://www.FreeRTOS.org for full
# license details.
# 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.
# Alternative commercial license and support terms are also available upon
# request. See the licensing section of http://www.FreeRTOS.org for full
# license details.
#
# 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.
# 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 along
# with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
# Temple Place, Suite 330, Boston, MA 02111-1307 USA.
# You should have received a copy of the GNU General Public License along
# with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
# Temple Place, Suite 330, Boston, MA 02111-1307 USA.
#
#
# ***************************************************************************
# * *
# * Looking for a quick start? Then check out the FreeRTOS eBook! *
# * See http://www.FreeRTOS.org/Documentation for details *
# * *
# ***************************************************************************
# ***************************************************************************
# * *
# * The FreeRTOS eBook and reference manual are available to purchase for a *
# * small fee. Help yourself get started quickly while also helping the *
# * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
# * *
# ***************************************************************************
#
# 1 tab == 4 spaces!
# 1 tab == 4 spaces!
#
# Please ensure to read the configuration and relevant port sections of the
# online documentation.
# Please ensure to read the configuration and relevant port sections of the
# online documentation.
#
# http://www.FreeRTOS.org - Documentation, latest information, license and
# contact details.
# 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.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.
# http://www.OpenRTOS.com - Commercial support, development, porting,
# licensing and training services.
#*/

View file

@ -1,48 +1,49 @@
/*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd.
FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution.
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.
Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full
license details.
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.
Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full
license details.
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.
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 along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
***************************************************************************
* *
* Looking for a quick start? Then check out the FreeRTOS eBook! *
* See http://www.FreeRTOS.org/Documentation for details *
* *
***************************************************************************
***************************************************************************
* *
* The FreeRTOS eBook and reference manual are available to purchase for a *
* small fee. Help yourself get started quickly while also helping the *
* FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
* *
***************************************************************************
1 tab == 4 spaces!
1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the
online documentation.
Please ensure to read the configuration and relevant port sections of the
online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
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.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.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#include <c8051f120.h>
@ -50,18 +51,18 @@
#include "task.h"
#include "partest.h"
#define partstPUSH_PULL ( ( unsigned portCHAR ) 0xff )
#define partstALL_OUTPUTS_OFF ( ( unsigned portCHAR ) 0xff )
#define partstPUSH_PULL ( ( unsigned char ) 0xff )
#define partstALL_OUTPUTS_OFF ( ( unsigned char ) 0xff )
/* LED to output is dependent on how the LED's are wired. */
#define partstOUTPUT_0 ( ( unsigned portCHAR ) 0x02 )
#define partstOUTPUT_1 ( ( unsigned portCHAR ) 0x08 )
#define partstOUTPUT_2 ( ( unsigned portCHAR ) 0x20 )
#define partstOUTPUT_3 ( ( unsigned portCHAR ) 0x01 )
#define partstOUTPUT_4 ( ( unsigned portCHAR ) 0x04 )
#define partstOUTPUT_5 ( ( unsigned portCHAR ) 0x10 )
#define partstOUTPUT_6 ( ( unsigned portCHAR ) 0x40 )
#define partstOUTPUT_7 ( ( unsigned portCHAR ) 0x80 )
#define partstOUTPUT_0 ( ( unsigned char ) 0x02 )
#define partstOUTPUT_1 ( ( unsigned char ) 0x08 )
#define partstOUTPUT_2 ( ( unsigned char ) 0x20 )
#define partstOUTPUT_3 ( ( unsigned char ) 0x01 )
#define partstOUTPUT_4 ( ( unsigned char ) 0x04 )
#define partstOUTPUT_5 ( ( unsigned char ) 0x10 )
#define partstOUTPUT_6 ( ( unsigned char ) 0x40 )
#define partstOUTPUT_7 ( ( unsigned char ) 0x80 )
/*-----------------------------------------------------------
* Simple parallel port IO routines.
@ -69,7 +70,7 @@
void vParTestInitialise( void )
{
unsigned portCHAR ucOriginalSFRPage;
unsigned char ucOriginalSFRPage;
/* Remember the SFR page before it is changed so it can get set back
before the function exits. */
@ -150,7 +151,7 @@ portBASE_TYPE xError = pdFALSE;
void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{
unsigned portCHAR ucBit;
unsigned char ucBit;
portBASE_TYPE xError = pdFALSE;
vTaskSuspendAll();

View file

@ -1,48 +1,49 @@
/*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd.
FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution.
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.
Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full
license details.
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.
Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full
license details.
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.
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 along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
***************************************************************************
* *
* Looking for a quick start? Then check out the FreeRTOS eBook! *
* See http://www.FreeRTOS.org/Documentation for details *
* *
***************************************************************************
***************************************************************************
* *
* The FreeRTOS eBook and reference manual are available to purchase for a *
* small fee. Help yourself get started quickly while also helping the *
* FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
* *
***************************************************************************
1 tab == 4 spaces!
1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the
online documentation.
Please ensure to read the configuration and relevant port sections of the
online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
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.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.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/*
@ -103,26 +104,26 @@
#define mainINTEGER_PRIORITY tskIDLE_PRIORITY
/* Constants required to disable the watchdog. */
#define mainDISABLE_BYTE_1 ( ( unsigned portCHAR ) 0xde )
#define mainDISABLE_BYTE_2 ( ( unsigned portCHAR ) 0xad )
#define mainDISABLE_BYTE_1 ( ( unsigned char ) 0xde )
#define mainDISABLE_BYTE_2 ( ( unsigned char ) 0xad )
/* Constants to setup and use the on board LED. */
#define ucLED_BIT ( ( unsigned portCHAR ) 0x40 )
#define mainPORT_1_BIT_6 ( ( unsigned portCHAR ) 0x40 )
#define mainENABLE_CROSS_BAR ( ( unsigned portCHAR ) 0x40 )
#define ucLED_BIT ( ( unsigned char ) 0x40 )
#define mainPORT_1_BIT_6 ( ( unsigned char ) 0x40 )
#define mainENABLE_CROSS_BAR ( ( unsigned char ) 0x40 )
/* Constants to set the clock frequency. */
#define mainSELECT_INTERNAL_OSC ( ( unsigned portCHAR ) 0x80 )
#define mainDIVIDE_CLOCK_BY_1 ( ( unsigned portCHAR ) 0x03 )
#define mainPLL_USES_INTERNAL_OSC ( ( unsigned portCHAR ) 0x04 )
#define mainFLASH_READ_TIMING ( ( unsigned portCHAR ) 0x30 )
#define mainPLL_POWER_ON ( ( unsigned portCHAR ) 0x01 )
#define mainPLL_NO_PREDIVIDE ( ( unsigned portCHAR ) 0x01 )
#define mainPLL_FILTER ( ( unsigned portCHAR ) 0x01 )
#define mainPLL_MULTIPLICATION ( ( unsigned portCHAR ) 0x04 )
#define mainENABLE_PLL ( ( unsigned portCHAR ) 0x02 )
#define mainPLL_LOCKED ( ( unsigned portCHAR ) 0x10 )
#define mainSELECT_PLL_AS_SOURCE ( ( unsigned portCHAR ) 0x02 )
#define mainSELECT_INTERNAL_OSC ( ( unsigned char ) 0x80 )
#define mainDIVIDE_CLOCK_BY_1 ( ( unsigned char ) 0x03 )
#define mainPLL_USES_INTERNAL_OSC ( ( unsigned char ) 0x04 )
#define mainFLASH_READ_TIMING ( ( unsigned char ) 0x30 )
#define mainPLL_POWER_ON ( ( unsigned char ) 0x01 )
#define mainPLL_NO_PREDIVIDE ( ( unsigned char ) 0x01 )
#define mainPLL_FILTER ( ( unsigned char ) 0x01 )
#define mainPLL_MULTIPLICATION ( ( unsigned char ) 0x04 )
#define mainENABLE_PLL ( ( unsigned char ) 0x02 )
#define mainPLL_LOCKED ( ( unsigned char ) 0x10 )
#define mainSELECT_PLL_AS_SOURCE ( ( unsigned char ) 0x02 )
/* Toggle rate for the on board LED - which is dependent on whether or not
an error has been detected. */
@ -130,7 +131,7 @@ an error has been detected. */
#define mainERROR_FLASH_PERIOD ( ( portTickType ) 250 )
/* Baud rate used by the serial port tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 )
#define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
/* Pass an invalid LED number to the COM test task as we don't want it to flash
an LED. There are only 8 LEDs (excluding the on board LED) wired in and these
@ -138,11 +139,11 @@ are all used by the flash tasks. */
#define mainCOM_TEST_LED ( 200 )
/* We want the Cygnal to act as much as possible as a standard 8052. */
#define mainAUTO_SFR_OFF ( ( unsigned portCHAR ) 0 )
#define mainAUTO_SFR_OFF ( ( unsigned char ) 0 )
/* Constants required to setup the IO pins for serial comms. */
#define mainENABLE_COMS ( ( unsigned portCHAR ) 0x04 )
#define mainCOMS_LINES_TO_PUSH_PULL ( ( unsigned portCHAR ) 0x03 )
#define mainENABLE_COMS ( ( unsigned char ) 0x04 )
#define mainCOMS_LINES_TO_PUSH_PULL ( ( unsigned char ) 0x03 )
/* Pointer passed as a parameter to vRegisterCheck() just so it has some know
values to check for in the DPH, DPL and B registers. */
@ -246,7 +247,7 @@ void main( void )
*/
static void prvSetupHardware( void )
{
unsigned portCHAR ucOriginalSFRPage;
unsigned char ucOriginalSFRPage;
/* Remember the SFR page before it is changed so it can get set back
before the function exits. */
@ -284,9 +285,9 @@ unsigned portCHAR ucOriginalSFRPage;
static void prvSetupSystemClock( void )
{
volatile unsigned portSHORT usWait;
const unsigned portSHORT usWaitTime = ( unsigned portSHORT ) 0x2ff;
unsigned portCHAR ucOriginalSFRPage;
volatile unsigned short usWait;
const unsigned short usWaitTime = ( unsigned short ) 0x2ff;
unsigned char ucOriginalSFRPage;
/* Remember the SFR page so we can set it back at the end. */
ucOriginalSFRPage = SFRPAGE;

View file

@ -1,48 +1,49 @@
/*
FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd.
FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
This file is part of the FreeRTOS distribution.
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.
Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full
license details.
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.
Alternative commercial license and support terms are also available upon
request. See the licensing section of http://www.FreeRTOS.org for full
license details.
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.
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 along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
You should have received a copy of the GNU General Public License along
with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
***************************************************************************
* *
* Looking for a quick start? Then check out the FreeRTOS eBook! *
* See http://www.FreeRTOS.org/Documentation for details *
* *
***************************************************************************
***************************************************************************
* *
* The FreeRTOS eBook and reference manual are available to purchase for a *
* small fee. Help yourself get started quickly while also helping the *
* FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
* *
***************************************************************************
1 tab == 4 spaces!
1 tab == 4 spaces!
Please ensure to read the configuration and relevant port sections of the
online documentation.
Please ensure to read the configuration and relevant port sections of the
online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
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.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.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
@ -54,14 +55,14 @@
#include "serial.h"
/* Constants required to setup the serial control register. */
#define ser8_BIT_MODE ( ( unsigned portCHAR ) 0x40 )
#define serRX_ENABLE ( ( unsigned portCHAR ) 0x10 )
#define ser8_BIT_MODE ( ( unsigned char ) 0x40 )
#define serRX_ENABLE ( ( unsigned char ) 0x10 )
/* Constants to setup the timer used to generate the baud rate. */
#define serCLOCK_DIV_48 ( ( unsigned portCHAR ) 0x03 )
#define serUSE_PRESCALED_CLOCK ( ( unsigned portCHAR ) 0x10 )
#define ser8BIT_WITH_RELOAD ( ( unsigned portCHAR ) 0x20 )
#define serSMOD ( ( unsigned portCHAR ) 0x10 )
#define serCLOCK_DIV_48 ( ( unsigned char ) 0x03 )
#define serUSE_PRESCALED_CLOCK ( ( unsigned char ) 0x10 )
#define ser8BIT_WITH_RELOAD ( ( unsigned char ) 0x20 )
#define serSMOD ( ( unsigned char ) 0x10 )
static xQueueHandle xRxedChars;
static xQueueHandle xCharsForTx;
@ -70,11 +71,11 @@ data static unsigned portBASE_TYPE uxTxEmpty;
/*-----------------------------------------------------------*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{
unsigned portLONG ulReloadValue;
unsigned long ulReloadValue;
const portFLOAT fBaudConst = ( portFLOAT ) configCPU_CLOCK_HZ * ( portFLOAT ) 2.0;
unsigned portCHAR ucOriginalSFRPage;
unsigned char ucOriginalSFRPage;
portENTER_CRITICAL();
{
@ -84,11 +85,11 @@ unsigned portCHAR ucOriginalSFRPage;
uxTxEmpty = pdTRUE;
/* Create the queues used by the com test task. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( portCHAR ) );
xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( portCHAR ) );
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( char ) );
xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( char ) );
/* Calculate the baud rate to use timer 1. */
ulReloadValue = ( unsigned portLONG ) ( ( ( portFLOAT ) 256 - ( fBaudConst / ( portFLOAT ) ( 32 * ulWantedBaud ) ) ) + ( portFLOAT ) 0.5 );
ulReloadValue = ( unsigned long ) ( ( ( portFLOAT ) 256 - ( fBaudConst / ( portFLOAT ) ( 32 * ulWantedBaud ) ) ) + ( portFLOAT ) 0.5 );
/* Set timer one for desired mode of operation. */
TMOD &= 0x08;
@ -96,8 +97,8 @@ unsigned portCHAR ucOriginalSFRPage;
SSTA0 |= serSMOD;
/* Set the reload and start values for the time. */
TL1 = ( unsigned portCHAR ) ulReloadValue;
TH1 = ( unsigned portCHAR ) ulReloadValue;
TL1 = ( unsigned char ) ulReloadValue;
TH1 = ( unsigned char ) ulReloadValue;
/* Setup the control register for standard n, 8, 1 - variable baud rate. */
SCON = ser8_BIT_MODE | serRX_ENABLE;
@ -121,7 +122,7 @@ unsigned portCHAR ucOriginalSFRPage;
void vSerialISR( void ) interrupt 4
{
portCHAR cChar;
char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* 8051 port interrupt routines MUST be placed within a critical section
@ -165,7 +166,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
}
/*-----------------------------------------------------------*/
portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )
portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{
/* There is only one port supported. */
( void ) pxPort;
@ -183,7 +184,7 @@ portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar
}
/*-----------------------------------------------------------*/
portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )
portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{
portBASE_TYPE xReturn;