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