OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4040|回复: 1

为什么4A,在stm官方函数库中写成 4U * A

[复制链接]

2

主题

3

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2014-12-10
在线时间
0 小时
发表于 2015-1-8 10:53:17 | 显示全部楼层 |阅读模式
5金钱
看到官方函数中有这样的表达式,颇为不解,请学长解惑。


           void AWU_LSICalibrationConfig(uint32_t LSIFreqHz)
00136 {
00137
00138     uint16_t lsifreqkhz = 0x0;
00139     uint16_t A = 0x0;
00140
00141     /* Check parameter */
00142     assert_param(IS_LSI_FREQUENCY_OK(LSIFreqHz));
00143
00144     lsifreqkhz = (uint16_t)(LSIFreqHz / 1000); /* Converts value in kHz */
00145
00146     /* Calculation of AWU calibration value */
00147
00148     A = (uint16_t)(lsifreqkhz >> 2U); /* Division by 4, keep integer part only */
00149
00150     if ((4U * A) >= ((lsifreqkhz - (4U * A)) * (1U + (2U * A))))
00151     {
00152         AWU->APR = (uint8_t)(A - 2U);
00153     }
00154     else
00155     {
00156         AWU->APR = (uint8_t)(A - 1U);
00157     }
00158 }


最佳答案

查看完整内容[请看2#楼]

U表示无符号类型。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11469
金钱
11469
注册时间
2013-3-8
在线时间
1226 小时
发表于 2015-1-8 10:53:18 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表