因為想做delay 1us的功能
目前用的MCU(TI MSP432P401R)
沒辦法讓用類似直接數cpu cycle的方式來delay
本想說只好用timer來達成
但是看到官方提供的example裡有個東西叫做"SysTick"
看它的機制和timer很像,可以說是功能精簡的timer吧
然後做了個實驗
tick和timer都設定每間隔1us就產生一次interrupt
(tick和timer有用gpio toggle的方式量過都確定是1us)
然後在ISR裡都只執行i++這一行指令
分別跑一次程式,看結果有何差異
開timer、關tick的時候,只要enable timer interrupt
程式就會陷在timer interrupt ISR裡,再也沒辦法跑回到main
而關timer、開tick時,即使enable tick interrupt
程式依然能回到main,繼續跑之後的while(1) loop都沒問題
請問這兩者一樣都是間隔1us產生interrupt
為什麼用timer程式就會被卡死
而tick則是無影響呢?