1

我打算在 PIC16F 系列设备中使用 ADC 将来自对数输出传感器的输入“转换”为线性刻度,以便我可以在 PIC 的端口上呈现它(作为“线性二进制值”),尽管减少了解析度。

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

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

XC8(Microchip 的 C 编译器)中是否有类似的功能?我看过,但似乎只有将线性值转换为对数的函数,还是我很傻?

问候拉尔夫

4

1 回答 1

1

请查看 xc8 编译器用户指南。还包括 pow 功能。就像是:

#include <math.h>
double logRange = ...;
double rawRange = ...; 

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

应该管用。

于 2018-04-24T06:08:15.397 回答