MCUXpresso SDK Documentation

uart_9bit_interrupt_transfer

uart_9bit_interrupt_transfer#

Overview#

The uart_9bit_interrupt_transfer example shows how to use uart driver in 9-bit mode in multi-slave system. Master can send data to slave with certain address specifically, and slave can only receive data when it is addressed.

In this example, one uart instance is used with address configured. Its TX and RX pins are connected together. First it sends a piece of data out, then addresses itself, after that sends the other piece of data. Only data sent after the address can be received by itself.

Supported Boards#

FRDM-K22F
Hardware requirements
  • Mini/Micro USB cable

  • FRDM-K22F board

  • Personal Computer

Board settings

UART one board: Using instance 2 of UART interface to transfer data to itself. TX pin is connected with RX pin.

UART2      CONNECTS TO        UART2
Pin Name   Board Location     Pin Name  Board Location
TXD        J1-4               RXD       J1-2
Prepare the Demo
  1. Connect a mini USB cable between the PC host and the OpenSDA USB port on the board.

  2. Open a serial terminal on PC for OpenSDA serial device with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Reset the SoC and run the project.

Running the demo

When the demo runs successfully, the log would be seen on the OpenSDA terminal like:

UART 9-bit mode example begins
UART is configured with address, only data sent to itself after matched address can be received
UART will send first piece of data out:

0x 0  0x 1  0x 2  0x 3  0x 4  0x 5  0x 6  0x 7  
0x 8  0x 9  0x a  0x b  0x c  0x d  0x e  0x f  

UART will address itself
UART will send the other piece of data out:

0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e  0x1f  

UART received data:

0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e  0x1f  

All data matches!
FRDM-K32L2B
Hardware requirements
  • Mini USB cable

  • FRDM-K32L2B board

  • Personal Computer

Board settings

Using instance 2 of UART interface to transfer data to itself. TX pin is connected with RX pin.

UART2     CONNECTS TO           UART2
Pin Name    Board Location      Pin Name  Board Location
TXD         J4-5                RXD       J4-7
Prepare the Demo
  1. Connect USB to Com Converter between the PC host and the port on the board.

  2. Open a serial terminal on PC for serial device with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Reset the SoC and run the project.

Running the demo

When the demo runs successfully, the log would be seen on the UART Terminal port which connected to the USB2COM like:

UART 9-bit mode example begins
UART is configured with address, only data sent to itself after matched address can be received
UART will send first piece of data out:

0x 0  0x 1  0x 2  0x 3  0x 4  0x 5  0x 6  0x 7  
0x 8  0x 9  0x a  0x b  0x c  0x d  0x e  0x f  

UART will address itself
UART will send the other piece of data out:

0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e  0x1f  

UART received data:

0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e  0x1f  

All data matches!
TWR-KM34Z75M
Hardware requirements
  • Mini USB cable

  • TWR-KM34Z75M board

  • Personal Computer

Board settings

UART one board: Using instance 1 of UART interface to transfer data to itself. TX pin is connected with RX pin.

UART1      CONNECTS TO        UART1
Pin Name   Board Location     Pin Name  Board Location
TXD        J25-9              RXD       J25-8
Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Reset the SoC and run the project.

Running the demo

When the demo runs successfully, the log would be seen on the OpenSDA terminal like:

UART 9-bit mode example begins
UART is configured with address, only data sent to itself after matched address can be received
UART will send first piece of data out:

0x 0  0x 1  0x 2  0x 3  0x 4  0x 5  0x 6  0x 7  
0x 8  0x 9  0x a  0x b  0x c  0x d  0x e  0x f  

UART will address itself
UART will send the other piece of data out:

0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e  0x1f  

UART received data:

0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e  0x1f  

All data matches!
TWR-KM35Z75M
Hardware requirements
  • Micro USB cable

  • TWR-KM35Z75M board

  • Personal Computer

Board settings

UART one board: Using instance 0 of UART interface to transfer data to itself. TX pin is connected with RX pin.

UART0      CONNECTS TO        UART0
Pin Name   Board Location     Pin Name  Board Location
TXD        J25-22             RXD       J25-24
Prepare the Demo
  1. Connect a micro USB cable between the host PC and the LPC-Link USB port (J27) on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

When the demo runs successfully, the log would be seen on the terminal like:

UART 9-bit mode example begins
UART is configured with address, only data sent to itself after matched address can be received
UART will send first piece of data out:

0x 0  0x 1  0x 2  0x 3  0x 4  0x 5  0x 6  0x 7  
0x 8  0x 9  0x a  0x b  0x c  0x d  0x e  0x f  

UART will address itself
UART will send the other piece of data out:

0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e  0x1f  

UART received data:

0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e  0x1f  

All data matches!