#include <p18f4680.h>
char startupString5[]="123\r";
void InitUsart3(void)//串口初始化
{
TRISCbits.TRISC7 = 1;
TRISCbits.TRISC6 = 0;
BAUDCON = 0b00000000;
SPBRG = 32;
RCSTAbits.SPEN=1;//串口使能
RCSTAbits.CREN=1;//使能接收
PIE1bits.TXIE = 1;//发送中断使能
TXSTAbits.TXEN=1; //使能发送
TXSTAbits.BRGH=1;//高速模式
// INTCONbits.GIE=1;
//INTCONbits.PEIE=1;
}
void main()//主程序
{
int j=0;
int r;
InitUsart3();//初始化串口
while(1)
{
while(PIE1bits.RCIE)
startupString5[0]=RCREG+1;
//PIR1bits.RCIF=0;
while(PIE1bits.RCIE)
startupString5[1]=RCREG+2;
//PIR1bits.RCIF=0;
while(PIE1bits.RCIE)
startupString5[2]=RCREG+3;
//PIR1bits.RCIF=0;
j=0;
while(startupString5[j]!='\0')
{
while(!PIR1bits.TXIF);
TXREG = startupString5[j];
j++;
}
}
}
接收的部分直接跳过
一直发送数据 不知什么原因
做过的指点一下吧 |