# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MLA -- Drivers

20 December, 2013

- 1
- 2
…
- 6
- 7
- 8
- 9
- 10
…
- 82
- 83

1.2 UART Driver
This library provides an interface to manage the UART module on the Microchip family of microcontrollers in different modes
of operation.
Description
Overview of UART
The Universal Asynchronous Receiver/Transmitter (UART) controller is the key component of the serial communications
subsystem of many embedded systems.
The UART driver can support the following modes of operation (refer to the specific device data sheet to determine which
modes are supported on the device in use).
RS-232
RS-232 is an asynchronous full duplex serial communication protocol. It uses separate lines for transmitting and receiving
data, point-to-point, between a Data Terminal Equipment (DTE) item and a Data Communication Equipment (DCE) item at a
maximum speed of 20 kbps with a maximum cable length of 50 feet.
1.2.1 Using Driver
Module
UART Driver
Description
This topic describes the basic architecture of the UART Driver Library and provides information and examples on how to use
it.
Interface Header File
: drv_uart1.h, drv_uart2.h, drv_uart3.h, drv_uart4.h
The interface to the UART library is defined in the drv_uart1.h, drv_uart2.h, drv_uart3.h, drv_uart4.h header file
The table below lists the interface section and its brief description.
Library Interface Section Description
Data Types and Constants Provides macros for configuring the system. It is required that the
system configures the driver to build correctly by choosing
appropriate configuration options as listed in this section.
Configuration Provides driver configuration macros
Initialization Functions Provides system module interfaces, Device initialization
Data Transfer Functions Provides data transfer functions available in the driver
Status Functions Provides status functions
1.2.1.1 Abstraction Model
Different types of UARTs are available on Microchip microcontrollers. Some have a FIFO and some do not. The FIFO depth
varies across part families. The UART driver abstracts out these differences and provides a unified model for data transfer
1.2 UART Driver MLA - Drivers Help Using Driver
8

- 1
- 2
…
- 6
- 7
- 8
- 9
- 10
…
- 82
- 83