我打算在PIC16F系列器件中使用ADC将来自对数输出传感器的输入“转换”为线性标度,以便我可以在PIC的PORT上呈现它(作为“线性二进制值”),尽管分辨率降低。
Arduino的传感器手册中有一些示例代码 -
float RawToLux(int raw)
{
float logLux = raw * logRange / rawRange;
return pow(10, logLux);
}
XC8(Microchip的C编译器)中是否有类似的东西?我看了,但似乎只有将线性值转换为log的函数,或者我是傻吗?
此致 拉尔夫
答案 0 :(得分:1)
请查看xc8编译器用户指南。 pow功能也包括在内。类似的东西:
#include <math.h>
double logRange = ...;
double rawRange = ...;
double RawToLux(int raw)
{
double logLux = raw * logRange / rawRange;
return pow(10.0, logLux);
}
应该有用。