2013-07-09 62 views
0

我有將打印輸出打印到UART的函數。如果在此函數工作時發生中斷,那麼調試中斷輸出將中斷先前的調試文本。所以我有這樣的事情: 「03:32:46加載數據fr03:32:46按鈕按下」。 我考慮一些解決方案。我更喜歡不禁用中斷,而不是禁用調試輸出,如果它打破其他調試打印功能。 解決這個問題的好方法是什麼?函數在中斷時重新進入

+0

你實際上不應該像ISR中的print語句那樣,它很慢並且可能不可重入。 – LostBoy

回答

0

基本上不會在ISR中執行打印語句,因爲這會影響性能。如果您想知道是否調用了ISR(例如通過按鈕按下),請嘗試通過設置輸出引腳和切換連接的LED來實現此目的。

使用ISR設置標誌或執行短計算。

+0

這是個好建議。但是我的系統在ISR中有很多工作。它必須重新設計。但是現在我實際上並不知道如何去做。 – LVitya