提問者:
jmj
等級:
鐘點工讀生
積分:
173
分
發送消息
查看用戶的所有發言
|
 |
我使用的結果是 delay 的 over head 很大. 平台: 11.059MHz 的 SM5964 函式 delay(n) 的實作: while(dly-- >0) ; 結果: delay(10) 原意是 10 tick 的延遲, 但結果用組語一看, 絕對超過 20 us. 大部份的 overhead 都花在 MOV 在 branch_JMP 上, 若是像我寫成 function call 的形式, 則更花時間 (將近 60us). 因為又要再支付 call stack 和 return 的代價. 不曉得是否有較方便的小刻度 delay (非 timer 中斷 isr) 可用...?
|
|