因为想做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则是无影响呢?