我打算在PIC16F系列设备中使用模数转换器,将对数输出传感器的输入‘转换’为线性标度,这样我就可以在PIC的端口上显示它(以‘线性二进制值’的形式),尽管分辨率有所降低。
在传感器手册中有一些Arduino的示例代码-
float RawToLux(int raw)
{
float logLux = raw * logRange / rawRange;
return pow(10, logLux);
}在XC8 (Microchip的C编译器)中有类似的东西吗?我已经看过了,但是似乎只有将线性值转换为log的函数,或者我是不是太傻了?
致敬拉尔夫
发布于 2018-04-24 14:08:15
请看一下xc8编译器用户指南。还包含了pow函数。类似于:
#include <math.h>
double logRange = ...;
double rawRange = ...;
double RawToLux(int raw)
{
double logLux = raw * logRange / rawRange;
return pow(10.0, logLux);
}应该行得通。
https://stackoverflow.com/questions/49978068
复制相似问题