打印

C语音学习之串口实验

[复制链接]
1150|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenqinte|  楼主 | 2013-10-14 09:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口初始化程序中有这么一段程序
float temp;
  u16 mantissa;
  u16 fraction;      
  temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV
  mantissa=temp;          //得到整数部分
  fraction=(temp-mantissa)*16; //得到小数部分     
    mantissa<<=4;
  mantissa+=fraction;
我看了以后总觉得temp先除以16再通过raction=(temp-mantissa)*16;mantissa<<=4;乘以16,不是多次一举吗???
为什么不直接 mantissa=(float)(pclk2*1000000)/bound
请大家解惑!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

166

帖子

0

粉丝