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

📄 main.c.bak

📁 pic33fj256gp710 uart
💻 BAK
字号:

# define _dsPIC33fj256gp710_

# include<uart.h>
# include<p33fj256gp710.h>
# include<Delay.h>
//_FOSC(FCKSM_CSECMD & POSCMD_XT);
//_FWDT(FWDTEN_OFF);
//_FBORPOR(FBOR_OFF & MCLR_EN);
//_FGS(GSS_OFF);


# define BAUDRATE 9600
# define FCY      4000000   
# define LF       0X0A
# define CR       0X0D
# define NULL     0X00

//# define BZ1   !PORTGBITS.RG1
char Txdata[] = "UART SUNNY";
unsigned char  TxIndex;
unsigned char RxValue;
/*void InitUART1(void)
{
unsigned int baudvalue;
unsigned int U1MODEvalue;	
unsigned int U1STAvalue;
CloseUART1();

ConfigIntUART1(UART_RX_INT_EN & UART_RX_INT_PR6 & UART_TX_INT_DIS & UART_TX_INT_PR2);
U1MODEvalue = UART_EN & UART_IDLE_CON & UART_DIS_WAKE & UART_EN_LOOPBACK & 
              UART_EN_ABAUD &UART_NO_PAR_8BIT & UART_1STOPBIT;
U1STAvalue = UART_INT_TX_BUF_EMPTY & UART_TX_PIN_NORMAL & UART_TX_ENABLE &
             UART_INT_RX_CHAR & UART_ADR_DETECT_DIS & UART_RX_OVERRUN_CLEAR;
baudvalue = ((FCY/16)/BAUDRATE)-1;
OpenUART1(U1MODEvalue,U1STAvalue,baudvalue);
}
*/
//void InitUART1(void);

 void InitUart(void) 
{   
        // 
        U1MODE = 0x8800 ; 
            Nop();
            Nop();
        U1STA = 0x0400 ; 
            Nop();
            Nop();
        U1BRG =0X19 ;                                // Baud-Rate = 9600 when Fcy = 4M , BRGH = 0 

       // Ctrl_U1RX = INPUT ; 
       // Ctrl_U1TX = OUTPUT ; 

        IFS0bits.U1RXIF = 0;   
        IFS0bits.U1TXIF = 0; 
        IPC2bits.U1RXIP = 2;                //RXIP 
        IPC3bits.U1TXIP = 3;                 //TXIP 
        IEC0bits.U1RXIE = 1;                //enable Rx interrupt 
        IEC0bits.U1TXIE = 1;                // =0 disable TX interrupt 


}  


void __attribute__((__interrupt__))_U1TXInterrupt(void)
{

  //  U1TXREG = Txdata[TxIndex++];
	IFS0bits.U1TXIF = 0;
}

void __attribute__((__interrupt__))_U1RXInterrupt(void)
{
	IFS0bits.U1RXIF = 0;
    RxValue = (char)U1RXREG;
}

int main(void)

{
//unsigned char _XBSS(16) TxIndex;
//static char Txdata[] = {'U','A','R','T','','S','U','N','N','Y',CR,LF,NULL};
//char _XBSS(16) Txdata[] ="UART SUNNY";


//TRISGBITS.TRISG1 = 0; //SET OUTPUT
//BZ1=1;
LATG=0xffff;
TRISG=0xfffd;

InitUart();
//InitUART1();
while(1)
	{
 //   BZ1=^BZ1;
    LATGbits.LATG1 =1;
    TxIndex = 0;
    LATGbits.LATG1 = 0;  //buzz
            Nop();
            Nop();
            Nop();
            Nop();
    DelayMs(100);
    LATGbits.LATG1 =1;
//	TxIndex=0;
//	TxIndex=1;
//	TxIndex=2;
//    LATGbits.LATG1 = 0;  //buzz
    while(Txdata[TxIndex])
    	{
            Nop();
            Nop();
            U1TXREG = Txdata[TxIndex++];
	//		WriteUART1((int)Txdata[TxIndex++]);
            Nop();
            Nop();
		//	while(BusyUART1());
       //     LATGbits.LATG1 = 0;  //buzz
		}
	}

}

⌨️ 快捷键说明

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