在用LPC2378做IPMI智能管理的时候,需要用到LPC2378中的I2C总线控制器来控制I2C的传输,达到智能管理的作用,但是现在我遇到了一个莫名其妙的问题,就是在用I2C做信息的传输的时候,会很不稳定,有时能够得到正确的通信回复,有时候程序表现是跑死了,用Jlink查看,程序跑飞的时候是移植处在I2C的中断服务程序中跳不出来了,就是在I2C发送启动信号(start信号)引起中断的时候,本来在中断中是清除中断信号和启动信号控制位,让程序跑进下一个中断状态,但现在看到的是程序一直在启动中断服务程序中,中断信号和启动信号无法清除,导致程序的崩溃,我在Jlink调试时出现这种情况的时候,手动的把中断位和启动位清除后就可以正常的往后面运行,我就想问问各位前辈,这种现象是什么原因造成的,现在很困惑,程序有时能正常,有时又崩溃在那里,弄的现在我都快崩溃了。如果有前辈遇到过同样的情况,一定要给我指条路呀,谢谢了。 |