浮点流量处理

时间:2016-04-05 07:38:11

标签: c floating-point embedded accumulator

我目前正在研究一种流量计,它可以计算流量并计算已经过的总量。目前我正在使用double进行流量计算,我每隔(total = total + current flow/3600)积累一次,其中total也是double类型。

我的问题是我的最大值检查应该是什么,之后我可以将总数归零并重新开始。我正在为pic24使用C30编译器。 这是我的代码。

double temp = info.FlowLast;        // info.FlowLast contains current flow 
temp /= 3600;                       // this routine is called after every 1 sec delay
info.Total += temp;                //info.Total Contains Totalizer value
info.FlowCounter +=temp;

if((uint16_t)(info.FlowCounter) >= 1)
{
    info.FlowCounter -= 1;      
    OS_Bsem_Set(BS_PULSE_COUNT);      //Pulse after every 1000kg of flow
}

0 个答案:

没有答案