概述
应用场景,例1:需要调节的温度范围为30℃ ~ 60℃,调节方式为电位器。
解:需要将电位器的AD值,映射到30℃ ~ 60℃这个范围,根据比例关系,使得电位器的值代表温度值。
例2:需要将变化的数据缩小到一定范围内变动。
/*********************************************
* @brief 比例缩小
* @param in_min: 输入参数最小值
* @param in_max: 输入参数最大值
* @param out_min: 输出参数最小值
* @param out_max: 输出参数最大值
* @param in_data: 需要缩小的实际数据
* @retval 比例缩小后的数据
********************************************/
float scaling_down(uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max, uint16_t in_data)
{
float temp;
if (in_data < in_min)
{
in_data = in_min;
}
if (in_data > in_max)
{
in_data = in_max;
}
temp = (in_max - in_min) / (out_max - out_min);
temp = (out_min + ((in_data - in_min) / temp));
if (temp < out_min)
{
temp = out_min;
}
if (temp > out_max)
{
temp = out_max;
}
return temp;
}
最后
以上就是强健星月为你收集整理的参数比例缩小函数的全部内容,希望文章能够帮你解决参数比例缩小函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复