µVision4 User's Guide

Technical Support

On-Line Manuals

µVision4 User's Guide

About µVision User Interface Creating Applications Utilities Debugging Using the Debugger Simulation Start Debugging Application Program Execution Debug Windows and Dialogs Breakpoints Window Call Stack and Locals Window Code Coverage Command Window Disassembly Window Event Viewer Execution Profiler Instruction Trace Window Logic Analyzer Setup Setup in Detail Restrictions Using the Logic Analyzer Memory Map Memory Window Performance Analyzer Registers Window Serial Window Symbols Window System Viewer Adding System Viewer Windows Toolbox Trace Data Window Trace Navigation Watch Window Expressions Constants System Variables Peripheral Variables I/O Ports Serial Ports Program Variables (Symbols) Fully Qualified Symbols Non-Qualified Symbols Literal Symbols Using Symbols Line Numbers Bit Addresses Type Specifications Operators Memory Type Specifiers Differences Between µVision4 and C Expression Examples Tips and Tricks Review Peripherals and CPU Configuration Simulate I/O Ports Simulate Interrupts and Clock Inputs Simulate external I/O Devices Assign Serial I/O to a PC COM Port Check Illegal Memory Access Command Input from File Preset I/O Ports or Memory Contents Write Debug Output to a File Keyboard Shortcuts TPIU Initialization after RESET (Cortex-M) Debug Commands Debug Functions Simulation Flash Programming Dialogs Example Programs Command Line Appendix

Serial Ports

The on-chip serial port is controlled with: S0TIME, S0IN, and S0OUT. S0IN and S0OUT represent the serial input and output streams on the CPU. S0TIME lets you specify whether the serial port timing instantaneous (STIME = 0) or the serial port timing is relative to the specified baudrate (SxTIME = 1). When S0TIME is 1, serial data displayed in the Serial window is output at the specified baudrate. When S0TIME is 0, serial data is displayed in the Serial window much more quickly.

Simulating serial input is just as easy as simulating digital input. Suppose you have an external serial device that inputs specific data periodically (every second). You can create a signal function that feeds the data into the CPU's serial port.

signal void serial_input (void) {
  while (1) {                                /* repeat forever */
    twatch (CLOCK);                          /* Delay for 1 second */

   S0IN = 'A';                               /* Send first character */
   twatch (CLOCK / 900);                     /* Delay for 1 character time */
                                             /* 900 is good for 9600 baud */
   S0IN = 'B';                               /* Send next character */
   twatch (CLOCK / 900);
   S0IN = 'C';                               /* Send final character */
  }                                          /* repeat */
}

When this signal function runs, it delays for 1 second, inputs 'A', 'B', and 'C' into the serial input line and repeats.

Serial output is simulated in a similar fashion using a user or signal function and a write access breakpoint as described above.