我是靠谱客的博主 强健星月,最近开发中收集的这篇文章主要介绍参数比例缩小函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

应用场景,例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;
}

最后

以上就是强健星月为你收集整理的参数比例缩小函数的全部内容,希望文章能够帮你解决参数比例缩小函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部