<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/單片機知識點總結/directory.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
環形隊列串口發送數據BUG
凡是具有以下特點的程序皆有BUG
在串口中斷里面調用寫入數據到環形隊列函數
然后主循環里面也有調用寫入數據到環形隊列函數
造成的問題:跌機
造成問題的原因:
中斷可以打斷主循環里面調用環形隊列函數,如果主循環還沒有執行完環形隊列
然后接着中斷又開始調用環形隊列函數,那么就出了問題.
解決方案1: 在主循環調用的環形隊列函數前關閉中斷
解決方案2: 在中斷函數里面不調用環形隊列函數
總結: 總之就是避免中斷函數和主循環同時調用環形隊列函數存儲數據