各位我用如下程序结构,计算流量,发现累积流量误差太大,主要原因是我一秒钟读就取脉冲数,而在主程序里不能保证每一秒都查询pulse_flag=1,因为flow_act()这部分程序的运行时间有时大于一秒,所以就会漏掉脉冲数,所以累积流量就会出错。我现在不知道该怎么办?是优化
flow_act() 这部分程序(我看也不好优化了),还是提高主频(我现在是32.768K晶振)???各位能否指点一下???
中断1 //捕获中断捕获脉冲
中断2() //Timer_A定时一秒读取脉冲数
{
pulse_flag=1;
}
main()
{
init();
while(1)
{ if(pulse_flag==1)
{
flow_act();//瞬时流量累积流量计算,涉及到乘除法
}
}
}
各位高手指点一下啊,我现在就是转不过弯儿,不知如何解决?我把Timer_A定时两秒,三秒后流量处理按一秒,这样还是有误差,好像这部分(flow_act();)程序运行时间不定,难道有时超过三秒???
提高主频?我现在手头只有32.768K的晶振,有办法提高吗?还是只有用8M晶振?