我目前正在研究一种流量计,它可以计算流量并计算已经过的总量。目前我正在使用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
}