这儿我的初始化函数,然后
void UART1_INIT ( void )
{
U1BRG=25; //波特率38400-------9600??? //N倍频率原因
//--------------------
TRISFbits.TRISF0=0;
RDE1=0;
//--------------------
TRISFbits.TRISF2=0; //U1RX
TRISFbits.TRISF3=0; //U1TX
//--------------------
U1MODE=0x8000;
U1MODEbits.UARTEN=1; //使能USART
U1MODEbits.USIDL=0; //在空闲模式继续运行
U1MODEbits.ALTIO=0; //UART通过UxTX和UxRX I/O引脚通信
U1MODEbits.WAKE=1; //使能唤醒
U1MODEbits.PDSEL=0; //8位数据,无奇偶校验
U1MODEbits.STSEL=0; //1个停止位
//--------------------
U1STA=0x0000;
U1STAbits.UTXISEL=0; //当一个字符被传输到发送移位寄存器(发送缓冲器中至少还有一个字符)时,产生中断
U1STAbits.URXISEL=0; //当一个字符被传输到接收移位寄存器(接收缓冲器中至少还有一个字符)时,产生中断
U1STAbits.UTXEN=1; //使能发送
//--------------------
IEC0bits.U1RXIE=1; //接收使用中断
IFS0bits.U1RXIF=0;
IPC2bits.U1RXIP=5;
}
这是我的发送函数
void SENDING2 ( unsigned int temp2 )
{
U2TXREG=temp2&0x00FF;
do{
ClrWdt();
}while(U2STAbits.TRMT==0) ;
U2STAbits.TRMT=0;
}
这是我在主函数里面的程序
RDE2 = 1; //时钟信号
if(U2STAbits.UTXBF == 0);
SENDING2(0);
for(i = 65535; i > 0;i --);
RDE2 = 0;
for(i = 65535; i > 0;i --);
我在串口上调试,一直没有数据发送过来 |