Data Structures | Macros | Typedefs | Variables
UARTCC32XXDMA.h File Reference

Detailed Description

UART driver implementation for a CC32XX UART controller, using the micro DMA controller.

============================================================================

The UART header file should be included in an application as follows:

Refer to UART.h for a complete description of APIs & example of use.

Device Specific Pin Mode Macros

This header file contains pin mode definitions used to specify the UART TX and RX pin assignment in the UARTCC32XXDMA_HWAttrsV1 structure. Please refer to the CC32XX Techincal Reference Manual for details on pin multiplexing.

Flow Control

To enable Flow Control, the RTS and CTS pins must be assigned in the UARTCC32XX_HWAttrsV1.


#include <stdint.h>
#include <stdbool.h>
#include <ti/drivers/dpl/ClockP.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/drivers/dpl/SemaphoreP.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/power/PowerCC32XX.h>
#include <ti/drivers/UART.h>
#include <ti/drivers/dma/UDMACC32XX.h>
Include dependency graph for UARTCC32XXDMA.h:

Go to the source code of this file.

Data Structures

struct  UARTCC32XXDMA_HWAttrsV1
 UARTCC32XXDMA Hardware attributes. More...
 
struct  UARTCC32XXDMA_Object
 UARTCC32XXDMA Object. More...
 

Macros

#define UARTCC32XXDMA_PIN_UNASSIGNED   0xFFF
 Indicates a pin is not being used. More...
 
#define UARTCC32XXDMA_PIN_01_UART1_TX   0x700
 
#define UARTCC32XXDMA_PIN_02_UART1_RX   0x701
 
#define UARTCC32XXDMA_PIN_03_UART0_TX   0x702
 
#define UARTCC32XXDMA_PIN_04_UART0_RX   0x703
 
#define UARTCC32XXDMA_PIN_07_UART1_TX   0x506
 
#define UARTCC32XXDMA_PIN_08_UART1_RX   0x507
 
#define UARTCC32XXDMA_PIN_16_UART1_TX   0x20F
 
#define UARTCC32XXDMA_PIN_17_UART1_RX   0x210
 
#define UARTCC32XXDMA_PIN_45_UART0_RX   0x92C
 
#define UARTCC32XXDMA_PIN_45_UART1_RX   0x22C
 
#define UARTCC32XXDMA_PIN_53_UART0_TX   0x934
 
#define UARTCC32XXDMA_PIN_55_UART0_TX   0x336
 
#define UARTCC32XXDMA_PIN_55_UART1_TX   0x636
 
#define UARTCC32XXDMA_PIN_57_UART0_RX   0x338
 
#define UARTCC32XXDMA_PIN_57_UART1_RX   0x638
 
#define UARTCC32XXDMA_PIN_58_UART1_TX   0x639
 
#define UARTCC32XXDMA_PIN_59_UART1_RX   0x63A
 
#define UARTCC32XXDMA_PIN_62_UART0_TX   0xB3D
 
#define UARTCC32XXDMA_PIN_50_UART0_CTS   0xC31
 
#define UARTCC32XXDMA_PIN_50_UART0_RTS   0x331
 
#define UARTCC32XXDMA_PIN_50_UART1_RTS   0xA31
 
#define UARTCC32XXDMA_PIN_52_UART0_RTS   0x633
 
#define UARTCC32XXDMA_PIN_61_UART0_RTS   0x53C
 
#define UARTCC32XXDMA_PIN_61_UART0_CTS   0x63C
 
#define UARTCC32XXDMA_PIN_61_UART1_CTS   0x33C
 
#define UARTCC32XXDMA_PIN_62_UART0_RTS   0xA3D
 
#define UARTCC32XXDMA_PIN_62_UART1_RTS   0x33D
 
#define UARTCC32XXDMA_FLOWCTRL_NONE   0
 No hardware flow control. More...
 
#define UARTCC32XXDMA_FLOWCTRL_HARDWARE   1
 Hardware flow control. More...
 
#define UARTCC32XXDMA_CMD_IS_BUSY   (UART_CMD_RESERVED + 0)
 Command used by UART_control to determines whether the UART transmitter is busy or not. More...
 
#define UARTCC32XXDMA_CMD_IS_RX_DATA_AVAILABLE   (UART_CMD_RESERVED + 1)
 Command used by UART_control to determines if there are any characters in the receive FIFO. More...
 
#define UARTCC32XXDMA_CMD_IS_TX_SPACE_AVAILABLE   (UART_CMD_RESERVED + 2)
 Command used by UART_control to determines if there is any space in the transmit FIFO. More...
 

Typedefs

typedef void(* UARTCC32XXDMA_ErrorCallback) (UART_Handle handle, uint32_t error)
 The definition of an optional callback function used by the UART driver to notify the application when a receive error (FIFO overrun, parity error, etc) occurs. More...
 
typedef struct UARTCC32XXDMA_ObjectUARTCC32XXDMA_Handle
 

Variables

const UART_FxnTable UARTCC32XXDMA_fxnTable
 

Macro Definition Documentation

§ UARTCC32XXDMA_PIN_UNASSIGNED

#define UARTCC32XXDMA_PIN_UNASSIGNED   0xFFF

Indicates a pin is not being used.

If hardware flow control is not being used, the UART CTS and RTS pins should be set to UARTCC32XX_PIN_UNASSIGNED.

§ UARTCC32XXDMA_PIN_01_UART1_TX

#define UARTCC32XXDMA_PIN_01_UART1_TX   0x700

PIN 1 is used for UART1 TX

§ UARTCC32XXDMA_PIN_02_UART1_RX

#define UARTCC32XXDMA_PIN_02_UART1_RX   0x701

PIN 2 is used for UART1 RX

§ UARTCC32XXDMA_PIN_03_UART0_TX

#define UARTCC32XXDMA_PIN_03_UART0_TX   0x702

PIN 3 is used for UART0 TX

§ UARTCC32XXDMA_PIN_04_UART0_RX

#define UARTCC32XXDMA_PIN_04_UART0_RX   0x703

PIN 4 is used for UART0 RX

§ UARTCC32XXDMA_PIN_07_UART1_TX

#define UARTCC32XXDMA_PIN_07_UART1_TX   0x506

PIN 7 is used for UART1 TX

§ UARTCC32XXDMA_PIN_08_UART1_RX

#define UARTCC32XXDMA_PIN_08_UART1_RX   0x507

PIN 8 is used for UART1 RX

§ UARTCC32XXDMA_PIN_16_UART1_TX

#define UARTCC32XXDMA_PIN_16_UART1_TX   0x20F

PIN 16 is used for UART1 TX

§ UARTCC32XXDMA_PIN_17_UART1_RX

#define UARTCC32XXDMA_PIN_17_UART1_RX   0x210

PIN 17 is used for UART1 RX

§ UARTCC32XXDMA_PIN_45_UART0_RX

#define UARTCC32XXDMA_PIN_45_UART0_RX   0x92C

PIN 45 is used for UART0 RX

§ UARTCC32XXDMA_PIN_45_UART1_RX

#define UARTCC32XXDMA_PIN_45_UART1_RX   0x22C

PIN 45 is used for UART1 RX

§ UARTCC32XXDMA_PIN_53_UART0_TX

#define UARTCC32XXDMA_PIN_53_UART0_TX   0x934

PIN 53 is used for UART0 TX

§ UARTCC32XXDMA_PIN_55_UART0_TX

#define UARTCC32XXDMA_PIN_55_UART0_TX   0x336

PIN 55 is used for UART0 TX

§ UARTCC32XXDMA_PIN_55_UART1_TX

#define UARTCC32XXDMA_PIN_55_UART1_TX   0x636

PIN 55 is used for UART1 TX

§ UARTCC32XXDMA_PIN_57_UART0_RX

#define UARTCC32XXDMA_PIN_57_UART0_RX   0x338

PIN 57 is used for UART0 RX

§ UARTCC32XXDMA_PIN_57_UART1_RX

#define UARTCC32XXDMA_PIN_57_UART1_RX   0x638

PIN 57 is used for UART1 RX

§ UARTCC32XXDMA_PIN_58_UART1_TX

#define UARTCC32XXDMA_PIN_58_UART1_TX   0x639

PIN 58 is used for UART1 TX

§ UARTCC32XXDMA_PIN_59_UART1_RX

#define UARTCC32XXDMA_PIN_59_UART1_RX   0x63A

PIN 59 is used for UART1 RX

§ UARTCC32XXDMA_PIN_62_UART0_TX

#define UARTCC32XXDMA_PIN_62_UART0_TX   0xB3D

PIN 62 is used for UART0 TX

§ UARTCC32XXDMA_PIN_50_UART0_CTS

#define UARTCC32XXDMA_PIN_50_UART0_CTS   0xC31

PIN 50 is used for UART0 CTS

§ UARTCC32XXDMA_PIN_50_UART0_RTS

#define UARTCC32XXDMA_PIN_50_UART0_RTS   0x331

PIN 50 is used for UART0 RTS

§ UARTCC32XXDMA_PIN_50_UART1_RTS

#define UARTCC32XXDMA_PIN_50_UART1_RTS   0xA31

PIN 50 is used for UART1 RTS

§ UARTCC32XXDMA_PIN_52_UART0_RTS

#define UARTCC32XXDMA_PIN_52_UART0_RTS   0x633

PIN 52 is used for UART0 RTS

§ UARTCC32XXDMA_PIN_61_UART0_RTS

#define UARTCC32XXDMA_PIN_61_UART0_RTS   0x53C

PIN 61 is used for UART0 RTS

§ UARTCC32XXDMA_PIN_61_UART0_CTS

#define UARTCC32XXDMA_PIN_61_UART0_CTS   0x63C

PIN 61 is used for UART0 CTS

§ UARTCC32XXDMA_PIN_61_UART1_CTS

#define UARTCC32XXDMA_PIN_61_UART1_CTS   0x33C

PIN 61 is used for UART1 CTS

§ UARTCC32XXDMA_PIN_62_UART0_RTS

#define UARTCC32XXDMA_PIN_62_UART0_RTS   0xA3D

PIN 62 is used for UART0 RTS

§ UARTCC32XXDMA_PIN_62_UART1_RTS

#define UARTCC32XXDMA_PIN_62_UART1_RTS   0x33D

PIN 62 is used for UART1 RTS

§ UARTCC32XXDMA_FLOWCTRL_NONE

#define UARTCC32XXDMA_FLOWCTRL_NONE   0

No hardware flow control.

§ UARTCC32XXDMA_FLOWCTRL_HARDWARE

#define UARTCC32XXDMA_FLOWCTRL_HARDWARE   1

Hardware flow control.

Typedef Documentation

§ UARTCC32XXDMA_ErrorCallback

typedef void(* UARTCC32XXDMA_ErrorCallback) (UART_Handle handle, uint32_t error)

The definition of an optional callback function used by the UART driver to notify the application when a receive error (FIFO overrun, parity error, etc) occurs.

Parameters
UART_HandleUART_Handle
errorThe current value of the receive status register. Please refer to the device data sheet to interpret this value.

§ UARTCC32XXDMA_Handle

Variable Documentation

§ UARTCC32XXDMA_fxnTable

const UART_FxnTable UARTCC32XXDMA_fxnTable
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale