作者lhz135 (PPP)
看板C_and_CPP
標題[問題] 如何將此程式碼 用迴圈的方式表達
時間Sun Dec 22 23:35:58 2019
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
arduino
問題(Question):
如何將下列程式碼 用迴圈表現
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
void stepForward(){
digitalWrite(8,1);
digitalWrite(9,1);
digitalWrite(10,0);
digitalWrite(11,0);
delay(t);
digitalWrite(8,0);
digitalWrite(9,1);
digitalWrite(10,1);
digitalWrite(11,0);
delay(t);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,1);
digitalWrite(11,1);
delay(t);
digitalWrite(8,1);
digitalWrite(9,0);
digitalWrite(10,0);
digitalWrite(11,1);
delay(t);
}
補充說明(Supplement):
這是步進馬達2相激磁的自定義函式
如以前老師上課所說的 有些特殊顯示的跑馬燈文字會變得很困難
上述的程式 除了用自定義函式 再呼叫之外
請教有沒有高手 可以用for while do while表達呢?
這不是作業 純粹想了解演算法而已
以後應該可能會再遇到這種狀況吧?
以上請指教 感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.240.182 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1577028961.A.3DE.html
推 jerryh001: 把0 1那些訊號寫成二維陣列 12/22 23:59
推 ko27tye: 2層for迴圈 將訊號額外做成一個動態表 在第一層給訊號值 12/23 01:38
→ ko27tye: 和清空 第二層for迴圈執行digitalWrite 12/23 01:39
推 s4300026: dw(i+8; i%4=0+j夷%4=1+j?1:0); 12/23 08:50
→ nevak: pcl 12/23 16:43
→ nevak: 如果只有這四種組合的話,其實參數寫成array再用迴圈查表 12/23 16:45
→ nevak: 比較實際就是了 12/23 16:45
推 Schottky: 樓上高手!這就是傳說中的 meta programming 嗎?厲害! 12/23 21:17
→ lhz135: 高手!!! 12/24 00:46
推 jass970991: %5=1或2 12/24 08:47
推 jass970991: 啊不行 12/24 08:49
推 iaminanl: 高手XDDDDDD 12/24 09:20
推 sppmg: XD 12/26 01:07
推 yoco: 驚世駭俗 XD 01/02 14:58
→ aiwhat: 把printf改成function call之後的確是原PO要的答案沒錯啊 01/05 07:19