我爲一個項目使用了一個STM32F4發現板,並且想知道我是否正確地處理了這個問題。當我按下一個按鈕時,觸發一個外部中斷來執行一個例程;不用延遲,這部分工作正常。當例行程序移動一個伺服器然後將其返回到其原始位置時,加上一個延遲以使伺服器在返回到原始位置之前趕上新的PWM輸出。當我延遲運行新的中斷程序時,電路板鎖定。在調試中,代碼似乎在延遲循環中停頓。STM32F4 - 我可以在中斷例程中使用延遲嗎?
延遲是一個簡單的systick例程。這是不好的做法(因此我的崩潰的原因)把它放入我的中斷,我應該使用不同的方法?例如,在外部中斷程序中設置單次定時器,該程序在設定的時間後返回伺服?
謝謝!
在中斷處理程序中放入延遲是絕對可怕的做法。如果您真的必須重新進入,並儘快重新啓用中斷。 – 2015-02-24 12:26:33