单片机如何读出满足条件的变量瞬间数值,并保存在EEPROM中???

if((LOAD>=LOAD_MAX)&&(LOingAD==100)){bxl=disp;bxl_3=bxl>>16;bxl_h=bxl>>8;bxl_l=bxl;ee... if((LOAD>=LOAD_MAX)&&(LOingAD==100))
{ bxl=disp;
bxl_3=bxl>>16;
bxl_h=bxl>>8;
bxl_l=bxl;
eeprom_eares(13312);//擦除第27扇区,
eeprom_write(13312,bxl_3);
eeprom_write(13313,bxl_h);
eeprom_write(13314,bxl_l);
}

//LOAD为AD 转换后实时力值,LOAD_MAX为LOAD的最大值,disp为变形量【由光电数编码器测得】
条件语句的目的是:转换后力值不断的增大而产生新的最大值,覆盖掉原来的 LOAD_MAX,保持递增的趋势,在这个趋势过程中,会产生不断变大的形变disp,此刻读出力值为100Kg时,对应的变形量disp,并保存在EEPROM中。
现在的问题是上面的代码采集不到数据bxl,但是如果变成
if((LOAD>=LOAD_MAX)&&(LOingAD>=100))
则会采集到同步变化的bxl,但我想要100kg对应点的bxl数值??

这个问题我一直搞不懂还请高手指教,诚谢!!
展开
 我来答
sinside8888
2012-05-30 · TA获得超过431个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:136万
展开全部
根据你的描述,这个问题的关键在于:
1. 根据你的描述,我的理解是将if((LOAD>=LOAD_MAX)&&(LOingAD==100))改成if((LOAD>=LOAD_MAX)&&(LOingAD>=100))就可以进入后面的保存操作,请问你有没有在bxl=disp;设置断点,看看两种情况是否能到到达断点?
如果只有LOingAD>=100能够到达断点,请回答下面的问题;如果都能达到断点,那么你是怎么判断LOingAD==100不能采集到数据,根据(证据)是什么?

2. LOingAD什么时候改变(被赋值)?
3. if((LOAD>=LOAD_MAX)&&(LOingAD==100))这条语句多长时间调用一次?
追问
这位朋友你说的很对,将代码改成if((LOAD>=LOAD_MAX)&&(LOAD>=100))后采集到数据了  但还是有误差,bxl的值不断的随着压力LOAD的增大而变大,还是采集不到100kg点的数据,
本人会单片机,但水平一般,
对兄台说的断点不是很明白,还请兄台指点指点,
追答
断点就是在某条语句设定一个标志,程序如果运行到那条语句就会自动停下来。这个功能需要用到仿真器。如果觉得不清楚可以直接联系我,已将邮箱发消息给你了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式