From: richardbarry Date: Wed, 7 Jul 2010 11:48:04 +0000 (+0000) Subject: Continue development of STM32 Rowley demo. X-Git-Tag: V6.1.0~99 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=28a78c104e0fe247e95eaccdae051d2440d9816a;p=freertos Continue development of STM32 Rowley demo. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1036 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- diff --git a/Demo/CORTEX_STM32F103_GCC_Rowley/Drivers/STM32_USART.h b/Demo/CORTEX_STM32F103_GCC_Rowley/Drivers/STM32_USART.h index 898835b3c..d9eed3049 100644 --- a/Demo/CORTEX_STM32F103_GCC_Rowley/Drivers/STM32_USART.h +++ b/Demo/CORTEX_STM32F103_GCC_Rowley/Drivers/STM32_USART.h @@ -54,10 +54,51 @@ #ifndef STM_32_SERIAL_COMMS_H #define STM_32_SERIAL_COMMS_H +/* + * Initialise a COM port. As supplied 2 COM ports are supported, so ulPort can + * be either 0 or 1. Note that COM 0 is in effect USART1 in ST library + * terminology. The baud rate can be any standard baud rate and has been tested + * up to 115200 baud. + */ long lCOMPortInit( unsigned long ulPort, unsigned long ulWantedBaud ); + +/* + * Output a single char to a COM port. As supplied 2 COM ports are supported, + * so ulPort can be 0 or 1. Note that COM 0 is in effect USART1 in ST library + * terminology. cOutChar is the character to be transmit, and xBlockTime is + * the time the task should be held in the Blocked state (in ticks) for space + * to become available in the queue of characters waiting transmission. pdPASS + * will be returned if the character is successfully queued (possible after + * waiting in the Blocked state for up to xBlockTime ticks), otherwise pdFAIL + * will be returned. + */ signed long xSerialPutChar( long lPort, signed char cOutChar, portTickType xBlockTime ); + +/* + * Retrieve a character from the queue of received characters. As supplied 2 + * COM ports are supported, so ulPort can be 0 or 1. Note that COM 0 is in + * effect USART1 in ST library terminology. pcRxedChar is the address into + * which the received character will be copied, and xBlockTime is the time the + * task should be held in the Blocked state (in ticks) for a character to be + * available if one is not available immediately. pdPASS will be returned if a + * character is successfully returned (possible after waiting in the Blocked + * state for up to xBlockTime ticks), otherwise pdFAIL will be returned. + */ signed long xSerialGetChar( long lPort, signed char *pcRxedChar, portTickType xBlockTime ); + +/* + * Send a string of characters to a COM port. As supplied 2 COM ports are + * supported, so ulPort can be 0 or 1. Note that COM 0 is in effect USART1 in + * ST library terminology. pcString contains the address of the first + * character to be transmit, and ulStringLength the total number of characters + * from and including *pcString. pdPASS will be returned if the entire string + * is queued for transmission successfully, otherwise pdFAIL will be returned. + * Note that serPUT_STRING_CHAR_DELAY within STM32_USART.c can be adjusted in + * accordance with the applications requirements. Comments are included where + * serPUT_STRING_CHAR_DELAY is defined. + */ long lSerialPutString( long lPort, const char * const pcString, unsigned long ulStringLength ); #endif + diff --git a/Demo/CORTEX_STM32F103_GCC_Rowley/RTOSDemo.hzs b/Demo/CORTEX_STM32F103_GCC_Rowley/RTOSDemo.hzs index 60c0db1fb..a2b938608 100644 --- a/Demo/CORTEX_STM32F103_GCC_Rowley/RTOSDemo.hzs +++ b/Demo/CORTEX_STM32F103_GCC_Rowley/RTOSDemo.hzs @@ -18,7 +18,6 @@ - @@ -49,14 +48,7 @@ - - - - - - - - + diff --git a/Demo/CORTEX_STM32F103_GCC_Rowley/main.c b/Demo/CORTEX_STM32F103_GCC_Rowley/main.c index fda780811..33c893497 100644 --- a/Demo/CORTEX_STM32F103_GCC_Rowley/main.c +++ b/Demo/CORTEX_STM32F103_GCC_Rowley/main.c @@ -70,7 +70,21 @@ * * "Echo" task - This is a very basic task that simply echoes any characters * received on COM0 (USART1). This can be tested by transmitting a text file - * from a dumb terminal to the STM32 USART. + * from a dumb terminal to the STM32 USART then observing or capturing the text + * that is echoed back. Missing characters will be all the more obvious if the + * file contains a simple repeating string of fixed width. + * + * Currently this demo does not include interrupt nesting examples. High + * frequency timer and simpler nesting examples can be found in most Cortex M3 + * demo applications. + * + * The functions used to initialise, set and clear LED outputs are normally + * defined in partest.c. This demo includes two partest files, one that is + * configured for use with the Keil MCBSTM32 evaluation board (called + * ParTest_MCBSTM32.c) and one that is configured for use with the official + * ST Eval board (called ParTest_ST_Eval.c). One one of these files should be + * included in the build at any one time, as appropriate for the hardware + * actually being used. */ /* Standard includes. */