43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
/* Hardware registers */
|
|
struct USART {
|
|
volatile uint32_t SR;
|
|
volatile uint32_t DR;
|
|
volatile uint32_t BRR;
|
|
volatile uint32_t CR1;
|
|
volatile uint32_t CR2;
|
|
volatile uint32_t CR3;
|
|
volatile uint32_t GTPR;
|
|
};
|
|
|
|
#define USART_SR_CTS (1 << 9)
|
|
#define USART_SR_LBD (1 << 8)
|
|
#define USART_SR_TXE (1 << 7)
|
|
#define USART_SR_TC (1 << 6)
|
|
#define USART_SR_RXNE (1 << 5)
|
|
#define USART_SR_IDLE (1 << 4)
|
|
#define USART_SR_ORE (1 << 3)
|
|
#define USART_SR_NE (1 << 2)
|
|
#define USART_SR_FE (1 << 1)
|
|
#define USART_SR_PE (1 << 0)
|
|
|
|
|
|
#define USART_CR1_UE (1 << 13)
|
|
#define USART_CR1_M (1 << 12)
|
|
#define USART_CR1_WAKE (1 << 11)
|
|
#define USART_CR1_PCE (1 << 10)
|
|
#define USART_CR1_PS (1 << 9)
|
|
#define USART_CR1_PEIE (1 << 8)
|
|
#define USART_CR1_TXEIE (1 << 7)
|
|
#define USART_CR1_TCIE (1 << 6)
|
|
#define USART_CR1_RXNEIE (1 << 5)
|
|
#define USART_CR1_IDLEIE (1 << 4)
|
|
#define USART_CR1_TE (1 << 3)
|
|
#define USART_CR1_RE (1 << 2)
|
|
#define USART_CR1_RWU (1 << 1)
|
|
#define USART_CR1_SBK (1 << 0)
|
|
|
|
#define USART_CR3_CTSE (1 << 9)
|
|
#define USART_CR3_RTSE (1 << 8)
|
|
#define USART_CR3_SCEN (1 << 5)
|
|
#define USART_CR3_NACK (1 << 4)
|