⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uartsrv.h

📁 最近在國外網站抓到的作業系統 以Arm為基礎去開發的
💻 H
字号:
#ifndef UARTSRV_H
#define UARTSRV_H

#include "itron.h"

#define		UART_DEVNUM		5

#define		BUF_SIZE		1000

#define		SYSCLK			50000000
#define		BAUDRATE		9600
#define		DATABIT			8
#define		TRIGERLEVEL		8


typedef struct
{
	U32 	UART_BASE;				//UART基址
	U32		INT_UART;				//UART中断号
	U32		UART_REC;               //UART接收事件标志
	U32		UART_TRA;               //UART发送事件标志
	U32		WBUF_EVENT;             //UART写事件标志
	U32		RBUF_EVENT;             //UART读事件标志
}UARTUSETBL;


typedef struct
{
	UARTUSETBL	usetbl;
	
	char	RecBuf[BUF_SIZE];
	char	TraBuf[BUF_SIZE];
	    	
	char	*pReadRecBuf; 
	char	*pReadTraBuf; 
	char	*pWriteRecBuf;
	char	*pWriteTraBuf;

	int		rdcount;
	int		wrcount;

	int		irq_uart_flag;             
}UARTDEV;   
            


#if UART_DEVNUM == 5
#define UART0_BASE		0X10004000
#define UART1_BASE		0X10005000
#define UART2_BASE		0X10005000
#define UART3_BASE		0X10005000
#define UART4_BASE		0X10005000

#define INT_UART0		24//0X01000000
#define INT_UART1		23//0X00800000
#define INT_UART2		0X01000000
#define INT_UART3		0X01000000
#define INT_UART4		0X01000000

extern UARTDEV uartdev[];

#else
#define UART0_BASE		0X10004000
#define UART1_BASE		0X10005000
#define UART2_BASE		0X10005000

#define INT_UART0		24//0X01000000
#define INT_UART1		23//0X00800000
#define INT_UART2		0X01000000

extern UARTDEV uartdev[];

#endif
            




extern void SysDevTableInit(void);
extern short SysOpenUart(ID devid);
extern short SysCloseUart(ID devid); 
extern int SysWriteUart(ID devid, char *usr_buf, int total_num, int timeout);
extern int SysReadUart(ID devid, char *usr_buf, int total_num, int timeout);




#endif

⌨️ 快捷键说明

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