经典!!!解释rUBRDIV0=( (int)(pclk/16./baud+0.5) -1 );
我逛论坛后,发现这句很多人在问,我看了同样有这样的疑问,最后找到了解释!感觉功力深厚的程序员太强了!!分析如下:
一经典:首先要知道 rUBRDIV0这个是要取一个整数的!这个的值请大家找手册,就知道如何设置了!但是与手册的公式对不上号!主要就是有两个地方,一个点除即. / ,为什么要是点除,因为PCLK、16不一定除得整数,有可能是小数,所以要点除得以成float形!
二经典: rUBRDIV0这个手册上不是说要是取靠进整数的那个数吗?比如22.7,那么取23,所以就有除完之后再加0.5这个说法了,22.7+0.5=23.2,取(int)之后,就成了23啦!!!
希望对大家有所帮助!!
沙发:funk: 顶一个先吧
http://www.apple88.cn/hello.png
页:
[1]