发表于:2007-09-13 14:44:00
楼主
在屏上修改采样时间和总的采样点数
有些客户需要趋势图的采样时间可以由客户来在屏上修改,并且采样一定点数后可以自动停止采样。下面讲的是用宏来实现该功能。
相关寄存器
趋势图所反映的被采样寄存器
趋势图的采样时间寄存器
总采样点数寄存器
采样停止、开启标志位
采样计时寄存器、采样计数寄存器
宏程序:
int period = RW_Period; //采样周期
int curSamps = RD_Samps; //计数采样点数
int sampsMax = RD_Samps_MAX*2; //总的采样点数
int leftTime = RD_LeftTime; //采样计时
int isHold = RD_Hold; //采样停止、开启标志位
if ( curSamps >= sampsMax ) //测试结束
{ isHold = 1;}
else
{ if ( period <= 1 ) //周期为1的情况
{ leftTime = 0;
isHold = 0;
++curSamps;
}
else if ( leftTime <= 0 ) //周期大于1的情况
{
leftTime = period;
isHold = 0; //开启采样
++curSamps; //采到一个点
}
else
{
--leftTime; //计时递减
isHold = 1; //暂停采样
}
}
WR_Samps = curSamps;
WR_Hold = isHold;
WR_LeftTime = leftTime;