spbrgselect.inc
来自「PIC全系列单片机的bootloader程序」· INC 代码 · 共 33 行
INC
33 行
RoundResult SET 0 ; Rounding function. RoundResult = Round(aa/bb)
Round macro aa,bb
LOCAL rr = aa/bb
LOCAL d1 = aa - rr*bb
LOCAL d2 = (rr+1)*bb - aa
RoundResult = rr
if d1 >= d2
RoundResult++
endif
endm
AbsResult SET 0
Abs macro nr
if nr>=0
AbsResult = nr
else
AbsResult = -nr
endif
endm
Round xtal,(16*baud)
spbrg_value EQU RoundResult-1
Round xtal,(16*(spbrg_value+1))
baud_real EQU RoundResult
Abs(baud_real-baud)
errpercent EQU AbsResult*100/baud
if errpercent > 4
ERROR big error in baudrate: #v(errpercent)%
endif
if errpercent >= 2
messg baudrate not exact: #v(errpercent)%
endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?