[问题] 请益如何避免While循环中重启问题

楼主: sweetdance (此ID停止使用)   2020-01-05 23:00:18
开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
keil / mcu ST
问题(Question):While循环中重启问题
循环中做if else if
电压判别(adc)给出相对输出值
当电压大于7V开始做输出,电压低于6V关闭输出,并且再电压值回升到7V以上也不再输出
以下简述
While
if A点 high 外部供电
if A点 low 而且电池大于7V由电池供电做输出
else if 电池电压小于6V关闭输出
由于电池特性问题,切断后 电池电压会回升到7V以上造成重启,但只希望它执行完第一
次供电后就不再重启
请问各位高手有没有什么方式可以让它不要再重启 ?
手机排板有点伤眼 请各位大大海涵
感恩~
作者: dces4212 (flawless)   2020-01-05 23:41:00
多加一个flag(电压掉到6v以下就set flag)到statement里,应该有更好的做法,目前只想到这。话说这种工作不是一般都在中断做吗?给while跑感觉有点浪费
作者: wargods8402 (维尼X维尼)   2020-01-05 23:43:00
设一个flag?
作者: tomsawyer (安安)   2020-01-06 12:28:00
break啊
作者: hongsiangfu   2020-01-06 12:39:00
设定flag后break出去,等待电池更换or充电事件发生时清除flag,重启电压侦测用状态机整理可能的模式与模式跳跃的条件,会比较清楚
楼主: sweetdance (此ID停止使用)   2020-01-06 13:05:00
ok 感谢 问题已经解决谢谢 大大们的热心帮忙 感恩

Links booklink

Contact Us: admin [ a t ] ucptt.com