📄 main.c.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 + -