1
我爲stm32寫入固件。函數a()在主循環中執行。如果發生uart中斷,我需要中止執行這個函數!可能嗎?謝謝)從中斷中斷功能執行
我爲stm32寫入固件。函數a()在主循環中執行。如果發生uart中斷,我需要中止執行這個函數!可能嗎?謝謝)從中斷中斷功能執行
當然,你可以做到這一點。規範方法是在IRQ和您的方法的範圍內創建一個變量可訪問的變量volatile
標誌。初始化爲false
。
當您的IRQ方法想要告訴您的a()
方法做某事然後它將標誌設置爲true。在你的a()
方法中,你經常輪詢國旗,如果它是真的,那麼你就會採取行動。
事實上,你問這個讓我覺得你可能在a()
的某個地方發起了一個阻塞呼叫,你希望它以某種方式被中斷代碼強行解鎖。這是不可能的。如果你的代碼是這樣的,那麼你需要重新設計它是非阻塞的。