本帖最后由 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; // 中断控制寄存器
}
|