- 已编辑
问题如题,已知在不添加spi读写函数时,按键中断处理函数能正确执行,不会陷入死循环。
其中:
spi写函数
spi读写事件的回调函数
按键中断处理函数中调用的spi读写函数
经排查在spi写函数中去除下面这行语句就不会陷入死循环,但这行语句是等待spi传输完成
问题是为什么会陷入死循环?理想情况应是进入按键中断处理函数后,调用spi写函数,在向spi写入数据后使用
while(!spi_xfer_done);语句等待spi数据传输完成。spi数据传输完成后触发spi读写事件的回调函数,spi_xfer_done
为真,此时while循环条件不再满足,结束中断,返回主函数。
请教问题出现在哪里,怎么解决这个问题。