nRF52832的SPI和TIMER配合使用,出现卡死的原因可能是? 中断优先级的问题!

【问题】:
使用nRF52832的SPI2和TIMER,在TIMER定时中断中进行SPI写操作,单独调试TIMER定时、SPI读写都OK,两者结合起来程序就挂死了;
【原因】:
SPI2和TIMER默认初始化优先级都是4,应用时TIMER定时中断产生,进入中断处理函数进行SPI写操作,而SPI完成一次写操作后,需要等待SPI中断中的完成标志位置位,但是,TIEMR和SPI的中断优先级相同,无法此时还无法进入SPI的中断中,所以程序卡死在此处;
初始化默认的中断优先级
SPI写操作后等待完成标志位置位 【解决方案】: 提高SPI2的中断优先级;