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

📄 uart_drv.h

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 H
字号:
/****************************************************************
**                                                              *
**  FILE         :  UARTDRV.H                                   *
**  COPYRIGHT    :  (c) 2004 .Xiamen Yaxon NetWork CO.LTD       *
**                                                              *
**             2004.11.18                                       *
****************************************************************/

#ifndef   DEF_UART_DRV
#define   DEF_UART_DRV

#include "lib_at91m40800.h"

#ifndef USART0
#define USART0          0
#endif

#ifndef USART1
#define USART1          1
#endif

/* cmd of at91_usart_ioctl */
#define USART_CMD_STATUS    0x01        /* get usart channel status */
#define USART_CMD_INTMODE   0x02        /* usart in interrupt mode */
#define USART_CMD_POLLMODE  0x03        /* usart in poll mode */

__inline INT8U ReadUARTReg(INT32U chan)
{
    if (chan == USART0) {
       return   AT91C_BASE_US0->US_RHR;
    } else {
       return   AT91C_BASE_US1->US_RHR;       
    }   
}

__inline void WriteUARTReg(INT32U chan,INT8U ch)
{
    if (chan == USART0) {
        AT91C_BASE_US0->US_THR = ch;
    }    
    else {
        AT91C_BASE_US1->US_THR = ch;       
    }    
}

void 	DisableUARTInt(INT32U chan,INT32U Int_mode);
void 	EnableUARTInt(INT32U chan,INT32U Int_mode);
INT16U 	uarts_ready(INT32U chan);
void 	InitUART (INT32U chan, INT32U baud);
void UART_Close (INT32U chan);
void 	uarts_write(INT32U chan, INT8U data);
void 	uarts_writeblock(INT32U chan, INT8U *data, INT32U datalen);
BOOLEAN uarts_pdcsend(INT32U chan,INT8U *buf,INT32U datalen);
void 	uarts_init(INT32U chan, INT32U baud);
INT16S 	uarts_read(INT32U chan);
void 	uarts_reset(INT32U chan);
BOOLEAN uarts_issending(INT32U chan);

void 	SendFromUART_BYTE(INT32U chan, INT8U ch);
void 	SendFromUART_HEX(INT32U chan, INT8U ch);
void 	SendFromUART_STR(INT32U chan, INT8U *p);
void 	SendFromUART_MEM(INT32U chan, INT8U *p, INT32U memsize);
void 	SendFromUART_MEM_HEX(INT32U chan, INT8U *p, INT32U memsize);
void 	PrintFromUART(INT32U chan, char *p);
void 	uarts_write_D(INT32U chan, INT8U data);
#if EN_DEBUG_BSP > 0
void 	checkuartsend(void);
#endif
#endif

⌨️ 快捷键说明

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