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

📄 openuart3.c

📁 Mplab C30编译器
💻 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 + -