在CCS中使用cpu复位的时候,外围设备不会复位,从而导致当中断启用时产生虚假中断。有两个解决方案
1.总是使用系统复位而不是cpu复位
2.添加以下代码,以确保在启用时钟之前复位外围设备。作为例子,我们展示了I2C2,但是所有外围设备都可以使用给定的代码行编写。
SysCtlPeripheralDisable(SYSCTL_PERIPH_I2C2);
SysCtlPeripheralReset(SYSCTL_PERIPH_I2C2);
SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C2);
while(!(SysCtlPeripheralReady(SYSCTL_PERIPH_I2C2)));
xyz549040622:
关于cpu复位和系统复位,应该指的的这两个选项。