📄 openuart3.c
字号:
#if defined(__PIC24F__)
#include <p24Fxxxx.h>
#endif
#include "uart.h"
/* UART3 is defined in following devices */
#ifdef _UART_IRDA_V1_3
/*******************************************************************************
Function Prototype : void OpenUART3(unsigned int config1,unsigned int config2,
unsigned int ubrg)
Include : uart.h
Description : This function configures the UART module
Arguments : config1 - This contains the parameters to be configured in the
UxMODE register as defined below
UART enable/disable
UART_EN
UART_DIS
UART Idle mode operation
UART_IDLE_CON
UART_IDLE_STOP
UART Wake-up on Start
UART_EN_WAKE
UART_DIS_WAKE
UART Loopback mode enable/disable
UART_EN_LOOPBACK
UART_DIS_LOOPBACK
Input to Capture module
UART_EN_ABAUD
UART_DIS_ABAUD
Parity and data bits select
UART_NO_PAR_9BIT
UART_ODD_PAR_8BIT
UART_EVEN_PAR_8BIT
UART_NO_PAR_8BIT
Number of Stop bits
UART_2STOPBITS
UART_1STOPBIT
IrDA encoder and decoder enable\disable
UART_IrDA_ENABLE
UART_IrDA_DISABLE
Mode Selection
UART_MODE_SIMPLEX
UART_MODE_FLOW
Enable bits
UART_UEN_11
UART_UEN_10
UART_UEN_01
UART_UEN_00
Receive Polarity Inversion bit
UART_UXRX_IDLE_ZERO
UART_UXRX_IDLE_ONE
High Baudrate Enable
UART_BRGH_FOUR
UART_BRGH_SIXTEEN
config2 - This contains the parameters to be configured in the
UxSTA register as defined below
UART Transmission mode interrupt select
UART_INT_TX_BUF_EMPTY
UART_INT_TX_LAST_CH
UART_INT_TX_EACH_CHAR
UART IrDA polarity inversion bit
UART_IrDA_POL_INV_ONE
UART_IrDA_POL_INV_ZERO
UART Transmit Break bit
UART_SYNC_BREAK_ENABLED
UART_SYNC_BREAK_DISABLED
UART transmit enable/disable
UART_TX_ENABLE
UART_TX_DISABLE
UART transmit buffer
UART_TX_BUF_FUL
UART_TX_BUF_NOT_FUL
UART Receive Interrupt mode select
UART_INT_RX_BUF_FUL
UART_INT_RX_3_4_FUL
UART_INT_RX_CHAR
UART address detect enable/disable
UART_ADR_DETECT_EN
UART_ADR_DETECT_DIS
UART OVERRUN bit clear
UART_RX_OVERRUN_CLEAR
ubrg - This is the value to be written into UxBRG register
to set the baud rate.
Return Value : None
Remarks : This functions configures the UART transmit and receive
sections and sets the communication baud rate
*********************************************************************/
void OpenUART3(unsigned int config1,unsigned int config2, unsigned int ubrg)
{
U3BRG = ubrg; /* baud rate */
U3MODE = config1; /* operation settings */
U3STA = config2; /* TX & RX interrupt modes */
while(U3STAbits.URXDA == 1) /* Clear Buffer*/
{
char Temp;
Temp = U3RXREG;
}
IFS5bits.U3RXIF = 0; /*clear interrupt flag*/
}
#else
#warning "Does not build on this target"
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -