[問題] 迴圈怎麼寫比較好

看板C_and_CPP作者 (風)時間10年前 (2013/12/17 22:12), 編輯推噓4(405)
留言9則, 8人參與, 最新討論串1/1
問題(Question): 需要再dspic上用到一個小程式 目前狀況: 當按鍵1按下的時候 輸出a模式 當按鍵2按下的時候 輸出b模式 當沒有按鍵觸發在c模式 希望目標: 系統在初始維持在c模式 而按下1跑到a模式 而我想要把按下按鍵a模式後 維持在a模式 (否則放開後回到c模式了) 請問這樣迴圈要怎麼寫比較好 程式碼(Code):(請善用置底文網頁, 記得排版) while(1) if (!sw5) modeA=1 else if (!sw6) modeB=1 else modeC=1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.170.129.50

12/17 22:16, , 1F
while(1);
12/17 22:16, 1F

12/17 22:59, , 2F
switch+enum
12/17 22:59, 2F

12/17 22:59, , 3F
你那應該純c吧,如果c++的話用virtual也不錯
12/17 22:59, 3F

12/17 22:59, , 4F
查詢: 「狀態機」
12/17 22:59, 4F
我都是用C.... 只用C不能辦到嗎

12/17 23:11, , 5F
就二樓說的, 用一個 enum 變數加 switch 就搞定了啊...
12/17 23:11, 5F
dsPIC30F是在C開發吧 用其他語言寫會動嗎?? ※ 編輯: xuptjo 來自: 1.170.129.50 (12/17 23:17)

12/17 23:56, , 6F
狀態機是一項技巧而已,可以用純 C 開發
12/17 23:56, 6F

12/18 02:27, , 7F
上次也有人聽不懂狀態機。想成一圈磁帶可能好懂點。
12/18 02:27, 7F
沒錯....剛剛去看wiki也不是很懂 = = 我在研究研究吧... ※ 編輯: xuptjo 來自: 1.170.129.50 (12/18 03:36)

12/18 09:52, , 8F
可以試試「有限狀態機」,非常好用 :)
12/18 09:52, 8F

12/18 10:07, , 9F
FSM算一種概念 可以幫助思考 http://tinyurl.com/b4mfu9z
12/18 10:07, 9F
感謝 我找到方法了 ※ 編輯: xuptjo 來自: 1.170.158.1 (12/18 19:40)
文章代碼(AID): #1Ii5lc6Y (C_and_CPP)