Overview
This UART example application demonstrates the KSDK Peripheral drivers working on different methods. The UART example will show transmit/receive UART's driver with other efficiency methods:
- Using blocking method
- Using non-blocking method
- Using DMA blocking method
- Using DMA non-blocking method
- Using polling method
Transfer data between board and PC. The board transfers and receives characters with PC through the UART interface. Type characters from the keyboard and the board receives and then echoes them to the terminal screen. See instructions output to the terminal.
Supported Platforms
These Freescale Freedom development platforms and Tower System modules are supported by the UART example.
- FRDM-K22F
- FRDM-K64F
- FRDM-KL03Z (*) (EDMA not supported)
- FRDM-KW24 (*) (EDMA not supported)
- TWR-K21D50M (*) (EDMA not supported)
- TWR-K21F120M (*) (EDMA not supported)
- TWR-K22F120M
- TWR-K24F120M
- TWR-K60D100M (*) (EDMA not supported)
- TWR-K64F120M
- TWR-K65F180M
- TWR-KL43Z48M (*) (EDMA not supported)
- TWR-KV10Z32
- TWR-KV31F120M
- TWR-KV46F150M
- TWR-KW24D512 (*) (EDMA not supported)
System Requirement
Hardware requirements
- J-Link ARM
- P&E Micro Multi-link universal
- Mini/micro USB cable
- USB A to micro AB cable
- Hardware (tower/base board, ...) for specific device
- Personal Computer
Toolchain requirements
- IAR embedded Workbench version 7.30.4
- ARM GCC 4.8.3 2014q3
- Keil MDK 5.13
- Kinetis Design Studio IDE v.2.5.0
- Atollic TrueSTUDIO for ARM win32 v5.2.1
Software requirements
- The project files are in: <SDK_Install>/examples/<board>/driver_examples/uart/<use_case>/<toolchain>.
- Library dependencies: ksdk_platform_lib
Getting Started
Hardware settings
The UART Example project does not call for any special hardware configurations. Although not required, the recommendation is to leave the development board's jumper settings and configurations in default state when running this example.
Prepare the example
- Connect a USB cable between the PC host and the OpenSDA USB port on the board.
- Open a serial terminal with these settings:
- 115200 baud rate
- 8 data bits
- No parity
- One stop bit
- No flow control
- Download the program to the target board.
- Either press the reset button on your board or launch the debugger in your IDE to begin running the example.
Run the example
UART blocking
These instructions are displayed/shown on the terminal window:
++++++++++++++++ UART Send/Receive Blocking Example +++++++++++++++++
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.
UART non-blocking
These instructions are displayed/shown on the terminal window:
++++++++++++++++ UART Send/Receive Non Blocking Example +++++++++++++++++
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.
UART DMA blocking
These instructions are displayed/shown on the terminal window:
++++++++++++++++ UART-DMA Send/Receive Blocking Example +++++++++++++++++
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.
UART DMA non-blocking
These instructions are displayed/shown on the terminal window:
++++++++++++++++ UART-DMA Send/Receive Non Blocking Example +++++++++++++++++
Type characters from keyboard, the board receives and then echoes them to the terminal screen.
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.
UART polling
These instructions are displayed/shown on the terminal window:
++++++++++++++++ UART Send/Receive Polling Example +++++++++++++++++
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.
Type the characters on the keyboard and the board receives and then echoes them to terminal screen.