首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将对数值转换为线性(xc8)

将对数值转换为线性(xc8)
EN

Stack Overflow用户
提问于 2018-04-23 17:50:53
回答 1查看 219关注 0票数 1

我打算在PIC16F系列设备中使用模数转换器,将对数输出传感器的输入‘转换’为线性标度,这样我就可以在PIC的端口上显示它(以‘线性二进制值’的形式),尽管分辨率有所降低。

在传感器手册中有一些Arduino的示例代码-

代码语言:javascript
复制
float RawToLux(int raw)
{
float logLux = raw * logRange / rawRange;
return pow(10, logLux);
}

在XC8 (Microchip的C编译器)中有类似的东西吗?我已经看过了,但是似乎只有将线性值转换为log的函数,或者我是不是太傻了?

致敬拉尔夫

EN

回答 1

Stack Overflow用户

发布于 2018-04-24 14:08:15

请看一下xc8编译器用户指南。还包含了pow函数。类似于:

代码语言:javascript
复制
#include <math.h>
double logRange = ...;
double rawRange = ...; 

double RawToLux(int raw)
{
    double logLux = raw * logRange / rawRange;
    return pow(10.0, logLux);
}

应该行得通。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49978068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档