This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教一下28335程序赋值的问题,谢谢



我使用了SPI口扩展了一个UART口,在XINT中断中读取接收数据,但是在运行中发现个问题感觉很困惑:

在XINT中断服务程序中,使用ir=SpiaRegs.SPIRXBUF;读取接收数据。SpiaRegs.SPIRXBUF值与要接收的数值始终是一致的,但是执行完该句后,ir值不变。

具体尝试方法有:

1,ir为局部变量和全局变量结果都一样,ir值未被幅值。

2,改为单步运行时ir可被正确赋值,但连续运行停至断点处观察ir值不能被修改。

3,第二次进入中断执行至赋值语句后边的断点时,ir值被修改为了第一次进入中断想要被修改的值,即以后的中断中,ir总是被赋予上次中断想要而不得赋值的值。

  • 没有开FIFO,在该句赋值语句后,有判断语句if(ir==0xaa){......},在该大括号内语句打断点,总是能停在断点处,将判断语句改为if(ir==0x00){......}同样能进断点处,这现象无语了