Home / µVision User's Guide
Serial Window
The Serial window accepts serial input and output data
streams. The window displays serial output data received from a
simulated CPU, while characters typed into a serial window are input
to the simulated CPU. This allows testing a UART interface prior to
having the target hardware.
The Debug (printf) Viewer is a special serial window that
can exchange data with the microcontoller. For Cortex-M
microcontrollers, the window displays printf-data received from the
Instrumentation Trace Macrocell (ITM). To
redirect output, refer also to Retarget Output via ITM, and Debug Access in the CMSIS documentation.
Open these windows using the toolbar button
or the menu View - Serial Windows.

The Context Menu allows:
- Clearing the window.
- Copying and saving the content to the clipboard or a file.
-
Setting a Carriage Return to every Line Feed that is received
(enabled by default).
-
Switching to various representation modes.
| Terminal Mode |
Text formatting and cursor control sequences are
supported (see table below). |
| ASCII Mode |
Every printable character is displayed. An unprintable
character is displayed as white-space (' '). |
| HEX Mode |
Every character is displayed as a HEX-number. |
| Mixed Mode |
Every character is displayed as a HEX-number and ASCII
character. An unprintable character is displayed as dot
('.'). |
ANSI VT100 Terminal Sequences
| Sequence |
Description |
| |
From Target −→ µVision |
| CR ('\r') |
Carriage Return |
| LF ('\n') |
Line Feed |
| TAB ('\t') |
Tabulator |
| BS (0x08) |
Back Space |
| BEL (0x07) |
Bell |
| |
| <ESC>[C |
Move cursor (position) 1 to the right |
| <ESC>[D |
Move cursor (position) 1 to the left |
| <ESC>[K |
Delete line right to cursor |
| |
| <ESC>[J |
Clear screen |
| <ESC>[y;xf |
Set cursor to Row y, Column x; (x,y) are numeric
ASCII values |
| |
From µVision ⇒ Target |
| <ESC>[A |
Cursor Key UP |
| <ESC>[B |
Cursor Key DOWN |
| <ESC>[C |
Cursor Key RIGHT |
| <ESC>[D |
Cursor Key LEFT |
Examples
// Clear screen and set cursor home
void ClearScreen(void)
{
printf("%c[1;1f%c[J", 27, 27);
}
// set cursor to position (x, y)
void SetCursorPosition(int x, int y)
{
printf("%c[%i;%if", 27, (signed int)y, (signed int)x);
}
See also