看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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://www.ptt.cc/bbs/C_and_CPP/M.1578236420.A.91F.html
dces4212: 多加一個flag(電壓掉到6v以下就set flag)到statement裡 01/05 23:41
dces4212: ,應該有更好的做法,目前只想到這。話說這種工作不是 01/05 23:41
dces4212: 一般都在中斷做嗎?給while跑感覺有點浪費 01/05 23:41
wargods8402: 設一個flag? 01/05 23:43
tomsawyer: break啊 01/06 12:28
hongsiangfu: 設定flag後break出去,等待電池更換or充電事件發生 01/06 12:39
hongsiangfu: 時清除flag,重啟電壓偵測 01/06 12:39
hongsiangfu: 用狀態機整理可能的模式與模式跳躍的條件,會比較清 01/06 12:41
hongsiangfu: 楚 01/06 12:41
sweetdance: ok 感謝 問題已經解決 01/06 13:05
sweetdance: 謝謝 大大們的熱心幫忙 感恩 01/06 13:06