这是一个薛定谔式的问题:
使用VSCODE+Coretex-Debug插件调试代码,会遇到如下情况:
2950a8f0-45a2-4bae-bcdd-58cb66120ac8-image.png
断点进来的这一刻刻,在左边的watch界面可以看到DATA寄存器中有值;
但是执行113行后,retData是0;
经过多次对比排查发现可能是如下原因:
DATA寄存器是FIFO的出口,读一次清一个. COUNT也会减少一次.
当断点执行到此处时,寄存器中的数据被左边的watch窗口读走了,等113行执行的时候,数据已经消失.
如果在113行后面打断点,确保进断点的时候,retData = BasePtr->DATA; 这一行已经执行过,就可以看到retData中是有数据的.
😊 😊 😊