📄 serial.h
字号:
#ifndef __SERIAL_H__
#define __SERIAL_H__
#include <rtthread.h>
#include <rthw.h>
/*data bits len*/
#define UART_DATABITS_5 0x00
#define UART_DATABITS_6 0x40
#define UART_DATABITS_7 0x80
#define UART_DATABITS_8 0xC0
/*parity type*/
#define UART_PARITY_EVEN 0x000
#define UART_PARITY_ODD 0x200
#define UART_PARITY_SPACE 0x400 /*force to 0(space)*/
#define UART_PARITY_MARK 0x600 /*force to 1(mark)*/
#define UART_PARITY_NONE 0x800 /*no parity*/
#define UART_PARITY_MULTI 0xC00 /*Multi-drop mode*/
/*number of stop bits*/
#define UART_STOPBITS_1 0x0000
#define UART_STOPBITS_15 0x1000
#define UART_STOPBITS_2 0x2000
typedef enum UARTPPortNum_E
{
UART_DBG=0,
UART_1 =1,
UART_2 =2,
UART_3 =3,
UART_4 =4,
UART_MAXNum, /*9200 support 4 UART, including one dbg port*/
}UARTPortNum_E;
typedef enum DataBits_E
{
DataBits_Reserved=0, /*not inited*/
DataBits_5,
DataBits_6,
DataBits_7,
DataBits_8,
}DataBits_E;
typedef enum Parity_E
{
Parity_Reserved=0, /*not inited*/
Parity_Even,
Parity_Odd,
Parity_Space,
Parity_Mark,
Parity_None,
Parity_Multi,
}Parity_E;
typedef enum StopBits_E
{
StopBits_Reserved=0, /*not inited*/
StopBits_1,
StopBits_15,
StopBits_2,
}StopBits_E;
typedef struct UARTPort_T
{
UARTPortNum_E Port;
rt_int8_t Name[8];
rt_uint32_t bInited;
rt_sem_t Sem;
rt_uint32_t BaseAddr; /*specified UART reg base addr*/
rt_uint32_t Vector;
DataBits_E DataBits;
Parity_E Parity;
StopBits_E StopBits;
rt_uint32_t BaudRate;
/*temporally i only use those element, also can use FIFO to fullfil the more feature*/
}UARTPort_T;
void rt_console_puts(const char* str);
#endif /*__SERIAL_H__'s end*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -