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

📄 uartdrv.h

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

#include "itron.h"
#include "HA_typedef.h"


#define 		UART_THR(uart_base)		(uart_base+0x00)
#define 		UART_RBR(uart_base)		(uart_base+0x00)
#define 		UART_DLL(uart_base)		(uart_base+0x00)
#define 		UART_DLH(uart_base)		(uart_base+0x04)    
#define 		UART_IER(uart_base)		(uart_base+0x04)	
#define 		UART_IIR(uart_base)		(uart_base+0x08)
#define 		UART_FCR(uart_base)		(uart_base+0x08)
#define 		UART_LCR(uart_base)		(uart_base+0x0c)
#define 		UART_MCR(uart_base)		(uart_base+0x10)
#define 		UART_LSR(uart_base)		(uart_base+0x14)
#define 		UART_MSR(uart_base)		(uart_base+0x18)


#define			STA_ERR				0x03	//uart interrupt
#define			REC_FUL				0x02
#define			REC_TMO				0x06
#define			TRA_EMP				0x01
#define			MOD_ERR				0x00

#ifndef			FALSE
#define			FALSE				1
#define			TRUE				(!FALSE)
#endif 


#define EN_UART_REC(uart_base)	do{*(RP)UART_IER(uart_base) |= 0x01;}while(0)	//enable receive interrupt; 	
#define DIS_UART_REC(uart_base)	do{*(RP)UART_IER(uart_base) &= 0xfe;}while(0)	//disable receive interrupt;
#define EN_UART_TRA(uart_base)	do{*(RP)UART_IER(uart_base) |= 0x02;}while(0)	//enable transmit interrupt; 	
#define DIS_UART_TRA(uart_base)	do{*(RP)UART_IER(uart_base) &= 0xfd;}while(0)	//disable transmit interrupt;



extern int init_uart(ID devid);
extern int conf_uart(ID devid, unsigned long sysclk, unsigned long baudrate, unsigned long databit, unsigned long trigerlevel);
extern int serv_uart(ID devid);
extern int rec_ful_handler(ID devid);
extern int rec_tmo_handler(ID devid);
extern int tra_emp_handler(ID devid);

extern ER  prints(ID devid, char *s);


#endif

⌨️ 快捷键说明

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