找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1466|回复: 12
收起左侧

C语言程序逻辑问题,麻烦哪位大佬指点一下?

[复制链接]
回帖奖励 15 黑币 回复本帖可获得 3 黑币奖励! 每人限 1 次
ID:586438 发表于 2019-9-7 13:20 | 显示全部楼层 |阅读模式
进入三个独立的循环,第二次判断温度总是不成功,或者和第一次冲突,怎么处理可以让逻辑走的通 1.PNG 2.PNG 3.jpg

回复

使用道具 举报

ID:123289 发表于 2019-9-9 01:21 | 显示全部楼层
现画出框图,框图中应有冲突发生后的预案。
回复

使用道具 举报

ID:138097 发表于 2019-9-9 08:20 | 显示全部楼层
ADC_Read占时序了,需要适当的延时
回复

使用道具 举报

ID:282850 发表于 2019-9-9 09:28 | 显示全部楼层
if ( (temp<20) && ( temp<25) )错误,改成if ( (temp>20) && ( temp<25)
回复

使用道具 举报

ID:586438 发表于 2019-9-9 10:25 | 显示全部楼层

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

有没有什么办法可以处理这种情况
回复

使用道具 举报

ID:282850 发表于 2019-9-9 15:21 | 显示全部楼层
如痴百感生 发表于 2019-9-9 10:25
谢谢  这个问题我解决了   我能不能问一个问题
就是我的温度是采集计算来的   这个数值会出现上下波动的 ...

这简单,小学时的东西,判断的值用四舍五入,显示不管。其实还可加入数字滤波算法,但此处四舍五入足够用了。
回复

使用道具 举报

ID:609542 发表于 2019-9-9 15:32 | 显示全部楼层
做几个点的平均,用平均值判断;或者取个范围
回复

使用道具 举报

ID:586438 发表于 2019-9-9 16:53 | 显示全部楼层
f556 发表于 2019-9-9 15:21
这简单,小学时的东西,判断的值用四舍五入,显示不管。其实还可加入数字滤波算法,但此处四舍五入足够用 ...

试过了  不行  还是上下跳动,因为那个脚接的是继电器  会嗒嗒嗒
回复

使用道具 举报

ID:282850 发表于 2019-9-10 09:19 | 显示全部楼层
如痴百感生 发表于 2019-9-9 16:53
试过了  不行  还是上下跳动,因为那个脚接的是继电器  会嗒嗒嗒

先保证4舍5入是正确的,AD值加入数字滤波:比如一次转换3~20个值,求平均。或者丢掉最大、最小值求平均。另外AD的Vref要加去耦电容,如1uf~0.1uf试试,PTC最好也加电容在AD输入端。温度有惰性,不会快速变化。
回复

使用道具 举报

ID:93224 发表于 2019-9-10 09:54 | 显示全部楼层
好好缕一缕
回复

使用道具 举报

ID:586438 发表于 2019-9-11 15:46 | 显示全部楼层
lmyapple 发表于 2019-9-9 15:32
做几个点的平均,用平均值判断;或者取个范围

已经求过平均值了   取个范围  能具体说说吗
回复

使用道具 举报

ID:609546 发表于 2019-9-12 10:44 | 显示全部楼层
先保证4舍5入是正确的,AD值加入数字滤波:比如一次转换3~20个值,求平均。或者丢掉最大、最小值求平均。另外AD的Vref要加去耦电容,如1uf~0.1uf试试,PTC最好也加电容在AD输入端。温度有惰性,不会快速变化。
回复

使用道具 举报

ID:138448 发表于 2019-9-12 14:03 | 显示全部楼层
建议连续判断几次,只有每次判断都成立时,在执行结果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表