📄 uart_drv.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 + -