作者sweetdance (此ID停止使用)
看板C_and_CPP
标题[问题] 请益如何避免While回圈中重启问题
时间Sun Jan 5 23:00:18 2020
开发平台(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以上造成重启,但只希望它执行完第一
次供电後就不再重启
请问各位高手有没有什麽方式可以让它不要再重启 ?
手机排板有点伤眼 请各位大大海涵
感恩~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.137.184.95 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1578236420.A.91F.html
1F:推 dces4212: 多加一个flag(电压掉到6v以下就set flag)到statement里 01/05 23:41
2F:→ dces4212: ,应该有更好的做法,目前只想到这。话说这种工作不是 01/05 23:41
3F:→ dces4212: 一般都在中断做吗?给while跑感觉有点浪费 01/05 23:41
4F:推 wargods8402: 设一个flag? 01/05 23:43
5F:→ tomsawyer: break啊 01/06 12:28
6F:推 hongsiangfu: 设定flag後break出去,等待电池更换or充电事件发生 01/06 12:39
7F:→ hongsiangfu: 时清除flag,重启电压侦测 01/06 12:39
8F:→ hongsiangfu: 用状态机整理可能的模式与模式跳跃的条件,会比较清 01/06 12:41
9F:→ hongsiangfu: 楚 01/06 12:41
10F:→ sweetdance: ok 感谢 问题已经解决 01/06 13:05
11F:→ sweetdance: 谢谢 大大们的热心帮忙 感恩 01/06 13:06