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 + -
显示快捷键?