hal_uart.h

来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C头文件 代码 · 共 80 行

H
80
字号
//-----------------------------------------------------------------------------
// HAL_UART
//-----------------------------------------------------------------------------
#ifndef HAL_UART_H
#define HAL_UART_H

//-----------------------------------------------------------------------------
#include "hal_map.h"

//-----------------------------------------------------------------------------
// UART->CR
//-----------------------------------------------------------------------------
//MODE
#define UART_MODE             0x07
#define UART_8BIT_DATA        0x01
#define UART_7BIT_DATA        0x03
#define UART_9BIT_DATA        0x04
#define UART_8BIT_DATA_WAKEUP 0x05
#define UART_8BIT_DATA_PARITY 0x07

//STOPBIT
#define UART_STOPBIT          (0x03<<3)
#define UART_05_STOPBIT       0x00
#define UART_1_STOPBIT        (0x01<<3)
#define UART_15_STOPBIT       (0x02<<3)
#define UART_2_STOPBIT        (0x03<<3)

//PARITY
#define UART_PARITY           0x0020
#define UART_NO_PARITY        0x0000
#define UART_EVEN_PARITY      0x0000
#define UART_ODD_PARITY       0x0020

//the others
#define UART_FIFO_ENABLE      (0x01<<10)
#define UART_RX_ENABLE        (0x01<<8)
#define UART_RUN              (0x01<<7)
#define UART_LOOP_ENABLE      (0x01<<6)


//-----------------------------------------------------------------------------
// UARTx->IER, UART->SR
//-----------------------------------------------------------------------------
#define UART_TxFull          0x0200
#define UART_RxHalfFull      0x0100
#define UART_TimeOutIdle     0x0080
#define UART_TimeOutNotEmpty 0x0040
#define UART_OverrunError    0x0020
#define UART_FrameError      0x0010
#define UART_ParityError     0x0008
#define UART_TxHalfEmpty     0x0004
#define UART_TxEmpty         0x0002
#define UART_RxBufFull       0x0001

//-----------------------------------------------------------------------------
// FIFO
//-----------------------------------------------------------------------------
#define UART_RxFIFO          1
#define UART_TxFIFO          2

//-----------------------------------------------------------------------------
// FUNCTIONS
//-----------------------------------------------------------------------------
void UART_Init (void);
void UART_BaudRate_Config (u32 BaudRate);
void UART_CR_Config (u16 what, u16 value);
void UART_CR_OnOffConfig (u16 what, FunctionalState NewState);
void UART_IT_Config (u16 what, FunctionalState NewState);
void UART_Fifo_Reset (u16 what);

void UART_ByteSend (vu8 *Data);
void UART_DataSend (vu8 *Data, vu8 DataLength);
void UART_StringSend (vu8 *String);

u16 UART_ByteReceive (vu8 *Data, vu8 TimeOut);
u16 UART_DataReceive (vu8 *Data, vu8 DataLength, vu8 TimeOut);

//-----------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?