只需要配置以下三个寄存器:
BRGCON1 BRGCON2 BRGCON3
BRGCON1=0x07; => 0000 0111
BRGCON2=0x90; => 1001 0000
BRGCON3=0x42; => 0101 0010
BRGCON1: Sync_Sog (bit7~bit6)=1TQ,BRP(bit5~bit0)=1 ,则TQ=((2*(BRP+1))/Fosc=16/32M(16M)=0.5us(1us)
1、 结果:Sync_Sog=1TQ , TQ=0.5us;
BRGCON1寄存器:
BRGCON2:bit7=1 配置为自由编程,bit6=0:配置为总线在采样点采样1次,phase_Seg1 (bit5-3)=3TQ:
2、 结果:phase_Seg1=3TQ
BRGCON2寄存器:
BRGCON3: Prog_Seg(bit2~bit0)=1TQ,设置 Phase_Seg2(bit2~bit0)=3TQ
3、 结果:Prog_Seg=1TQ,Phase_Seg2=3TQ;
4、 位时间T: =TQ*(Sync_Seg+ Prop_Seg+ Phase_seg1+ Phase_seg2)=(1+1+3+3)TQ=8
5、结论: 波特率=1/(T*TQ)=1/(8*0.5us)=250Kbps
波特率修改建议:
1、调整TQ大小,即为BRGCON1的bit5~bit0,或者修改位时间T(自定义的T哈~)T是通过Sync_Seg+ Prop_Seg+ Phase_seg1+ Phase_seg2的累加,可根据BRGCON1、BRGCON2、BRGCON3的数据数据手册进行修改
PIC18F26数据手册:
https://pf01.ickimg.com/datasheet/81/61/4afd/81/12c68af1beb5bb6f9eec1fb63e4beaa4.pdf