标题: C语言程序逻辑问题,麻烦哪位大佬指点一下? [打印本页]

作者: 如痴百感生    时间: 2019-9-7 13:20
标题: C语言程序逻辑问题,麻烦哪位大佬指点一下?
进入三个独立的循环,第二次判断温度总是不成功,或者和第一次冲突,怎么处理可以让逻辑走的通


作者: yzwzfyz    时间: 2019-9-9 01:21
现画出框图,框图中应有冲突发生后的预案。
作者: whx.000    时间: 2019-9-9 08:20
ADC_Read占时序了,需要适当的延时
作者: f556    时间: 2019-9-9 09:28
if ( (temp<20) && ( temp<25) )错误,改成if ( (temp>20) && ( temp<25)
作者: 如痴百感生    时间: 2019-9-9 10:25
f556 发表于 2019-9-9 09:28
if ( (temp

谢谢  这个问题我解决了   我能不能问一个问题
就是我的温度是采集计算来的   这个数值会出现上下波动的情况,例如 判定是18,即使采集到了18  这个数值也会在17.9和18.1之间跳动  那么结果也会跳动

有没有什么办法可以处理这种情况
作者: f556    时间: 2019-9-9 15:21
如痴百感生 发表于 2019-9-9 10:25
谢谢  这个问题我解决了   我能不能问一个问题
就是我的温度是采集计算来的   这个数值会出现上下波动的 ...

这简单,小学时的东西,判断的值用四舍五入,显示不管。其实还可加入数字滤波算法,但此处四舍五入足够用了。
作者: lmyapple    时间: 2019-9-9 15:32
做几个点的平均,用平均值判断;或者取个范围
作者: 如痴百感生    时间: 2019-9-9 16:53
f556 发表于 2019-9-9 15:21
这简单,小学时的东西,判断的值用四舍五入,显示不管。其实还可加入数字滤波算法,但此处四舍五入足够用 ...

试过了  不行  还是上下跳动,因为那个脚接的是继电器  会嗒嗒嗒
作者: f556    时间: 2019-9-10 09:19
如痴百感生 发表于 2019-9-9 16:53
试过了  不行  还是上下跳动,因为那个脚接的是继电器  会嗒嗒嗒

先保证4舍5入是正确的,AD值加入数字滤波:比如一次转换3~20个值,求平均。或者丢掉最大、最小值求平均。另外AD的Vref要加去耦电容,如1uf~0.1uf试试,PTC最好也加电容在AD输入端。温度有惰性,不会快速变化。
作者: lele5211314    时间: 2019-9-10 09:54
好好缕一缕
作者: 如痴百感生    时间: 2019-9-11 15:46
lmyapple 发表于 2019-9-9 15:32
做几个点的平均,用平均值判断;或者取个范围

已经求过平均值了   取个范围  能具体说说吗
作者: yuwangyu    时间: 2019-9-12 10:44
先保证4舍5入是正确的,AD值加入数字滤波:比如一次转换3~20个值,求平均。或者丢掉最大、最小值求平均。另外AD的Vref要加去耦电容,如1uf~0.1uf试试,PTC最好也加电容在AD输入端。温度有惰性,不会快速变化。
作者: ghuk    时间: 2019-9-12 14:03
建议连续判断几次,只有每次判断都成立时,在执行结果。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1