Loading...
Searching...
No Matches
cc26xx_cc13xx_uart.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Leon George
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
9#pragma once
10
19
20#include "cc26xx_cc13xx.h"
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
49
54#define UART_DR_DATA_mask 0xFF
55#define UART_DR_FE 0x100
56#define UART_DR_PE 0x200
57#define UART_DR_BE 0x400
58#define UART_DR_OE 0x800
59
60#define UART_ECR_FE 0x1
61#define UART_ECR_PE 0x2
62#define UART_ECR_BE 0x4
63#define UART_ECR_OE 0x8
64
65#define UART_FR_CTS 0x1
66#define UART_FR_BUSY 0x4
67#define UART_FR_RXFE 0x10
68#define UART_FR_TXFF 0x20
69#define UART_FR_RXFF 0x40
70#define UART_FR_TXFE 0x80
71
72#define UART_LCRH_PEN 0x2
73#define UART_LCRH_EPS 0x4
74#define UART_LCRH_STP2 0x8
75#define UART_LCRH_FEN 0x10
76#define UART_LCRH_WLEN_mask 0x60
77#define UART_LCRH_WLEN_5 0x0
78#define UART_LCRH_WLEN_6 0x20
79#define UART_LCRH_WLEN_7 0x40
80#define UART_LCRH_WLEN_8 0x60
81#define UART_LCRH_SPS 0x80
82
83#define UART_CTL_UARTEN 0x1
84#define UART_CTL_LBE 0x80
85#define UART_CTL_TXE 0x100
86#define UART_CTL_RXE 0x200
87#define UART_CTL_RTS 0x800
88#define UART_CTL_RTSEN 0x4000
89#define UART_CTL_CTSEN 0x8000
90
91#define UART_MIS_CTSMMIS 0x1
92#define UART_MIS_RXMIS 0x10
93#define UART_MIS_TXMIS 0x20
94#define UART_MIS_RTMIS 0x40
95#define UART_MIS_FEMIS 0x80
96#define UART_MIS_PEMIS 0x100
97#define UART_MIS_BEMIS 0x200
98#define UART_MIS_OEMIS 0x400
99
100#define UART_IMSC_CTSMIM 0x2
101#define UART_IMSC_RXIM 0x10
102#define UART_IMSC_TXIM 0x20
103#define UART_IMSC_RTIM 0x40
104#define UART_IMSC_FEIM 0x80
105#define UART_IMSC_PEIM 0x100
106#define UART_IMSC_BEIM 0x200
107#define UART_IMSC_OEIM 0x400
108
109#define UART_IFLS_TXSEL_1_8 0x0
110#define UART_IFLS_TXSEL_2_8 0x1
111#define UART_IFLS_TXSEL_4_8 0x2
112#define UART_IFLS_TXSEL_6_8 0x3
113#define UART_IFLS_TXSEL_7_8 0x4
114
115#define UART_IFLS_RXSEL_1_8 0x0
116#define UART_IFLS_RXSEL_2_8 0x8
117#define UART_IFLS_RXSEL_4_8 0x10
118#define UART_IFLS_RXSEL_6_8 0x18
119#define UART_IFLS_RXSEL_7_8 0x20
121
126#define UART0_BASE (PERIPH_BASE + 0x1000)
127#define UART1_BASE (PERIPH_BASE + 0xB000)
129
133#define UART0 ((uart_regs_t *) (UART0_BASE))
137#define UART1 ((uart_regs_t *) (UART1_BASE))
138
139#ifdef __cplusplus
140} /* end extern "C" */
141#endif
142
CC26xx, CC13xx definitions.
volatile uint32_t reg32_t
Unsigned 32-bit register type.
UART component registers.
reg32_t IMSC
Interrupt mask set/clear.
reg32_t ICR
Interrupt clear.
reg32_t IFLS
Interrupt fifo level select.
reg32_t FBRD
Fractional baud-rate divisor.
reg32_t ECR
Error clear.
reg32_t DMACTL
MMA control.
reg32_t __reserved1[4]
Reserved.
reg32_t LCRH
Line control.
reg32_t IBRD
Integer baud-rate divisor.
reg32_t MIS
Masked interrupt status.
reg32_t __reserved2[2]
Reserved.
reg32_t RSR
Status.
reg32_t RIS
Raw interrupt status.
reg32_t DR
Data.
reg32_t CTL
Control.