1
我試圖讓Raspberry Pi上的LED按時間間隔打開/關閉。我知道有一個關於如何做到這一點的教程,但我被告知這對於程序的手段來說太複雜了。大會:延遲使用循環
所以,我的一個朋友給了我這個代碼,並告訴我說,是可以延遲執行:
/* using 3 loops for delay*/
for_i:
mov r2, #0
next_i:
cmp r2, #1000
bge endfor
for_j:
mov r3, #0
next_j:
cmp r3, #1000
bge fin_i
for_k:
mov r4, #0
cmp r4, #1000
bge fin_j
add r4, #1
b for_k
fin_j:
add r3, #1
b next_j
fint_i:
add r2, #1
b next_i
endfor:
其中,據我瞭解基本上是3嵌套的for循環。
我想插入延遲程序的一點是這樣的:
loop$:
/*turn LED on*/
mov r5,#1
lsl r5,#16
str r5,[r4,#40]
*/insert delay*/
/*turn LED off*/
mov r5, #1
lsl r5,#16
str r5, [r4, #28]
*/insert delay*/
b loop$
當我cluelessly試圖在LED只是停留在某處代碼插入循環。老實說,我不知道如何插入這一小段代碼讓程序被延遲,或者即使3個循環足以注意到這個間隔。
的代碼來開啓/關閉LED應該完全正常工作,如果我沒有環$運行代碼時,指示燈熄滅,當我運行這個循環的代碼,LED是非常暗淡
非常感謝,結果1000是相當高的3個循環。現在它可以工作。你有任何建議如何使用這些循環作爲*方法*從代碼調用,而不是僅僅複製2次? – akalikin
@ user2407413:您可以將其設爲子程序:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473c/Cihcfigg.html – Guffa