作者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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1577028961.A.3DE.html
1F:推 jerryh001: 把0 1那些讯号写成二维阵列 12/22 23:59
2F:推 ko27tye: 2层for回圈 将讯号额外做成一个动态表 在第一层给讯号值 12/23 01:38
3F:→ ko27tye: 和清空 第二层for回圈执行digitalWrite 12/23 01:39
4F:推 s4300026: dw(i+8; i%4=0+j夷%4=1+j?1:0); 12/23 08:50
6F:→ nevak: pcl 12/23 16:43
8F:→ nevak: 如果只有这四种组合的话,其实参数写成array再用回圈查表 12/23 16:45
9F:→ nevak: 比较实际就是了 12/23 16:45
11F:推 Schottky: 楼上高手!这就是传说中的 meta programming 吗?厉害! 12/23 21:17
12F:→ lhz135: 高手!!! 12/24 00:46
13F:推 jass970991: %5=1或2 12/24 08:47
14F:推 jass970991: 啊不行 12/24 08:49
15F:推 iaminanl: 高手XDDDDDD 12/24 09:20
16F:推 sppmg: XD 12/26 01:07
17F:推 yoco: 惊世骇俗 XD 01/02 14:58
18F:→ aiwhat: 把printf改成function call之後的确是原PO要的答案没错啊 01/05 07:19