| 本帖最后由 pzsh 于 2021-12-23 14:44 编辑 
 晶振为16M
 
 void init1(void)
{
    RX1PPS = 0x17;   //RC7->EUSART1:RX1;    
    RC6PPS = 0x09;   //RC6->EUSART1:TX1;  
    RC1STAbits.SPEN = 1;    // 串口使能
    TRISCbits.TRISC0 = 0;
    TRISCbits.TRISC7 = 1;    // 异步串行接收数据输入
    TRISCbits.TRISC6 = 0;// 异步和同步主模式,TRISC<6> 零(= 0)
    ANSELC=0x00;
    // TXSTA1:发送状态和控制寄存器
    TX1STAbits.SYNC = 0;    // 异步模式
    TX1STAbits.TX9 = 0;     // 选择8 位发送
    TX1STAbits.TXEN = 0;     // 禁止发送
    TX1STAbits.BRGH = 1;     // 高速
    TX1STAbits.TXEN = 1; // 使能发送
    // RCSTA1:接收状态和控制寄存器
    RC1STAbits.RX9 = 0; // 选择8 位接收
   
    // BAUDCON1:波特率控制寄存器
    BAUDCON1bits.BRG16 = 1; // 16位波特率发生器??SPBRGHx 和SPBRGx
    SP1BRGH =0x01;
    SP1BRGL =0xa0;
    // 外设中断允许寄存器1
    RC1IE = 1; // 允许EUSART 接收中断
    
    RC1STAbits.CREN = 1; // 使能接收器
    INTCONbits.GIE = INTCONbits.PEIE = 1; // 中断控制寄存器
    
    
}
 |