📄 lib_usart2.h
字号:
//*----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name : lib_usart2.h
//* Object : USART2 Library Function Prototyping File.
//*
//* 1.0 07/11/00 ED : Creation
//*----------------------------------------------------------------------------
#ifndef lib_usart2_h
#define lib_usart2_h
#include "periph/usart2/usart2.h"
/*---------------------------------------*/
/* USART Descriptor Structure Definition */
/*---------------------------------------*/
typedef struct _AT91S_USART2Desc
{
AT91PS_USART2 usart_base ; /* Peripheral base */
const AT91PS_PIO pio_base ; /* IO controller descriptor */
u_int pin_rxd ; /* RXD pin number in the PIO */
u_int pin_txd ; /* TXD pin number in the PIO */
u_int pin_sck ; /* SCK pin number in the PIO */
u_int pin_rts ; /* RTS pin number in the PIO */
u_int pin_cts ; /* CTS pin number in the PIO */
u_int pin_dtr ; /* DTR pin number in the PIO */
u_int pin_ri ; /* RI pin number in the PIO */
u_int pin_dsr ; /* DSR pin number in the PIO */
u_int pin_dcd ; /* DCD pin number in the PIO */
u_int periph_id ; /* USART Peripheral Identifier */
} AT91S_USART2Desc, *AT91PS_USART2Desc ;
__inline void at91_usart2_uscr(AT91PS_USART2 pUSART, int cr)
{
pUSART->US_CR = cr;
}
__inline void at91_usart2_set_usmr (AT91PS_USART2 pUSART, int mode )
{
pUSART->US_MR = mode ;
}
__inline int at91_usart2_get_usmr (const AT91PS_USART2 pUSART)
{
return(pUSART->US_MR);
}
__inline void at91_usart2_usier(AT91PS_USART2 pUSART, const int ints)
{
pUSART->US_IER = ints;
}
__inline void at91_usart2_usidr(AT91PS_USART2 pUSART, const int ints)
{
pUSART->US_IDR = ints;
}
__inline int at91_usart2_usimr (const AT91PS_USART2 pUSART )
{
return ( pUSART->US_IMR ) ;
}
__inline int AT91F_US_CSR(const AT91PS_USART2 pUSART )
{
return ( pUSART->US_CSR ) ;
}
__inline void at91_usart2_sendChar (AT91PS_USART2 pUSART, int character )
{
pUSART->US_THR = (character & 0x1FF);
}
__inline int at91_usart2_getChar (const AT91PS_USART2 pUSART)
{
return((pUSART->US_RHR) & 0x1FF);
}
__inline void at91_usart2_set_usbrgr(AT91PS_USART2 pUSART, int cd)
{
pUSART->US_BRGR = cd;
}
__inline int at91_usart2_get_usbrgr(const AT91PS_USART2 pUSART)
{
return((pUSART->US_BRGR) & 0xFFFF);
}
__inline void at91_usart2_set_usrtor(AT91PS_USART2 pUSART, int timeout)
{
pUSART->US_RTOR = timeout;
}
__inline int at91_usart2_get_usrtor(const AT91PS_USART2 pUSART)
{
return((pUSART->US_RTOR) & 0xFFFF);
}
__inline void at91_usart2_set_usttgr(AT91PS_USART2 pUSART, int timeguard)
{
pUSART->US_TTGR = timeguard;
}
__inline int at91_usart2_get_usttgr(const AT91PS_USART2 pUSART)
{
return((pUSART->US_TTGR) & 0xFF);
}
__inline void at91_usart2_set_usfidi(AT91PS_USART2 pUSART, int fidi_ratio)
{
pUSART->US_FIDI = fidi_ratio;
}
__inline int at91_usart2_get_usfidi(const AT91PS_USART2 pUSART)
{
return((pUSART->US_FIDI) & 0x7FF);
}
__inline int at91_usart2_usner(const AT91PS_USART2 pUSART)
{
return((pUSART->US_NER) & 0xFF);
}
__inline void at91_usart2_set_usxxr(AT91PS_USART2 pUSART, int xon_xoff)
{
pUSART->US_XXR = xon_xoff;
}
__inline int at91_usart2_get_usxxr(const AT91PS_USART2 pUSART)
{
return((pUSART->US_XXR) & 0xFFFF);
}
__inline void at91_usart2_set_usif(AT91PS_USART2 pUSART, int irda_filter)
{
pUSART->US_IF = irda_filter;
}
__inline int at91_usart2_get_usif(const AT91PS_USART2 pUSART)
{
return((pUSART->US_IF) & 0xFF);
}
/* Function Prototyping */
extern void AT91F_US_Open ( const AT91PS_APMC, const AT91PS_USART2Desc, u_int, u_int, u_int) ;
extern void at91_usart2_close ( const AT91PS_APMC, const AT91PS_USART2Desc ) ;
extern u_int at91_usart2_get_status ( const AT91PS_USART2 pUSART ) ;
extern void at91_usart2_trig_cmd (AT91PS_USART2 pUSART, u_int cmd ) ;
extern void at91_usart2_write ( AT91PS_USART2 pUSART, u_int character ) ;
extern void at91_usart2_read ( AT91PS_USART2 pUSART, u_int *pt_char ) ;
extern u_int at91_usart2_send_frame (AT91PS_USART2 pUSART, char *pt_buffer, u_int size_buf, char *pt_next_buffer, u_int size_next_buf ) ;
extern u_int at91_usart2_receive_frame (AT91PS_USART2 pUSART, char *pt_buffer, u_int max_size , char *pt_next_buffer, u_int max_size_next_buf) ;
extern u_int at91_usart2_get_CD ( const u_int main_clock, const u_int baud_rate);
#endif /* lib_usart2_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -