#ifndef STM_32_SERIAL_COMMS_H\r
#define STM_32_SERIAL_COMMS_H\r
\r
+/*\r
+ * Initialise a COM port. As supplied 2 COM ports are supported, so ulPort can\r
+ * be either 0 or 1. Note that COM 0 is in effect USART1 in ST library \r
+ * terminology. The baud rate can be any standard baud rate and has been tested\r
+ * up to 115200 baud.\r
+ */\r
long lCOMPortInit( unsigned long ulPort, unsigned long ulWantedBaud );\r
+\r
+/*\r
+ * Output a single char to a COM port. As supplied 2 COM ports are supported,\r
+ * so ulPort can be 0 or 1. Note that COM 0 is in effect USART1 in ST library\r
+ * terminology. cOutChar is the character to be transmit, and xBlockTime is\r
+ * the time the task should be held in the Blocked state (in ticks) for space \r
+ * to become available in the queue of characters waiting transmission. pdPASS \r
+ * will be returned if the character is successfully queued (possible after \r
+ * waiting in the Blocked state for up to xBlockTime ticks), otherwise pdFAIL \r
+ * will be returned.\r
+ */\r
signed long xSerialPutChar( long lPort, signed char cOutChar, portTickType xBlockTime );\r
+\r
+/*\r
+ * Retrieve a character from the queue of received characters. As supplied 2 \r
+ * COM ports are supported, so ulPort can be 0 or 1. Note that COM 0 is in \r
+ * effect USART1 in ST library terminology. pcRxedChar is the address into\r
+ * which the received character will be copied, and xBlockTime is the time the \r
+ * task should be held in the Blocked state (in ticks) for a character to be\r
+ * available if one is not available immediately. pdPASS will be returned if a\r
+ * character is successfully returned (possible after waiting in the Blocked \r
+ * state for up to xBlockTime ticks), otherwise pdFAIL will be returned.\r
+ */\r
signed long xSerialGetChar( long lPort, signed char *pcRxedChar, portTickType xBlockTime );\r
+\r
+/*\r
+ * Send a string of characters to a COM port. As supplied 2 COM ports are \r
+ * supported, so ulPort can be 0 or 1. Note that COM 0 is in effect USART1 in \r
+ * ST library terminology. pcString contains the address of the first \r
+ * character to be transmit, and ulStringLength the total number of characters\r
+ * from and including *pcString. pdPASS will be returned if the entire string\r
+ * is queued for transmission successfully, otherwise pdFAIL will be returned.\r
+ * Note that serPUT_STRING_CHAR_DELAY within STM32_USART.c can be adjusted in\r
+ * accordance with the applications requirements. Comments are included where\r
+ * serPUT_STRING_CHAR_DELAY is defined.\r
+ */\r
long lSerialPutString( long lPort, const char * const pcString, unsigned long ulStringLength );\r
\r
#endif\r
\r
+\r
<Project>
<ProjectSessionItem path="RTOSDemo" name="unnamed" />
<ProjectSessionItem path="RTOSDemo;RTOSDemo" name="unnamed" />
- <ProjectSessionItem path="RTOSDemo;RTOSDemo;System Files" name="unnamed" />
</Project>
<Register1>
<RegisterWindow openNodes="" binaryNodes="" unsignedNodes="" visibleGroups="" decimalNodes="" octalNodes="" asciiNodes="" />
<Watches active="0" update="Never" />
</Watch4>
<Files>
- <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="56" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\Drivers\STM32_USART.c" y="93" path="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\Drivers\STM32_USART.c" left="0" selected="0" name="unnamed" top="74" />
- <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="5" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\ST Library\src\stm32f10x_usart.c" y="353" path="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\ST Library\src\stm32f10x_usart.c" left="0" selected="0" name="unnamed" top="336" />
- <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="33" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\ST Library\inc\stm32f10x_usart.h" y="238" path="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\ST Library\inc\stm32f10x_usart.h" left="0" selected="0" name="unnamed" top="218" />
- <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\main.c" y="138" path="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\main.c" left="0" selected="0" name="unnamed" top="119" />
- <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="41" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\Drivers\STM32_USART.h" y="59" path="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\Drivers\STM32_USART.h" left="0" selected="0" name="unnamed" top="36" />
- <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\STM32F10x_Startup.s" y="110" path="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\STM32F10x_Startup.s" left="0" selected="0" name="unnamed" top="91" />
- <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" y="221" path="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" left="0" selected="0" name="unnamed" top="205" />
- <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" y="820" path="C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" left="0" selected="1" name="unnamed" top="801" />
+ <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="48" debugPath="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\main.c" y="84" path="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley\main.c" left="0" selected="1" name="unnamed" top="54" />
</Files>
<ARMCrossStudioWindow activeProject="RTOSDemo" autoConnectTarget="USB CrossConnect for ARM" debugSearchFileMap="" fileDialogInitialDirectory="C:\E\Dev\FreeRTOS\WorkingCopy\Demo\CORTEX_STM32F103_GCC_Rowley" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
</session>
*\r
* "Echo" task - This is a very basic task that simply echoes any characters \r
* received on COM0 (USART1). This can be tested by transmitting a text file\r
- * from a dumb terminal to the STM32 USART.\r
+ * from a dumb terminal to the STM32 USART then observing or capturing the text\r
+ * that is echoed back. Missing characters will be all the more obvious if the \r
+ * file contains a simple repeating string of fixed width.\r
+ *\r
+ * Currently this demo does not include interrupt nesting examples. High \r
+ * frequency timer and simpler nesting examples can be found in most Cortex M3\r
+ * demo applications.\r
+ *\r
+ * The functions used to initialise, set and clear LED outputs are normally \r
+ * defined in partest.c. This demo includes two partest files, one that is \r
+ * configured for use with the Keil MCBSTM32 evaluation board (called \r
+ * ParTest_MCBSTM32.c) and one that is configured for use with the official\r
+ * ST Eval board (called ParTest_ST_Eval.c). One one of these files should be\r
+ * included in the build at any one time, as appropriate for the hardware \r
+ * actually being used.\r
*/\r
\r
/* Standard includes. */\r