共2条
1/1 1 跳转至页
NUC123使用I2C0的话会进入不了I2C中断服务程序,怎么解决?

发现NUC123如果使用I2C0(PF2和PF3)的话会进入不了I2C中断服务程序。但是如果使用I2C1的话就可以。我试了“NUC123SeriesBSP_CMSIS_V1.01.006”里面的
关键词: NUC123 I2C 中断

2楼
1. 确保I2C0的中断使能位被正确配置。在中断初始化代码段中,确保对应的中断使能位被设置为1,可以通过修改NVIC_EnableIRQ(I2C0_IRQn)代码实现。
2. 检查I2C0的中断优先级。确保I2C0的中断优先级高于其他中断,这样才能保证I2C0中断的及时响应。可以通过NVIC_SetPriority(I2C0_IRQn, x)函数来设置中断优先级。
3. 检查I2C0的时钟使能位。在使用I2C0之前,需要确保I2C0的时钟使能位被设置为1。这可以通过修改CLK_EnableModuleClock(I2C0_MODULE)代码来实现。
4. 检查引脚配置。确保I2C0的引脚配置正确,并且与代码中的配置一致。可以通过修改GPIO_SetMode()函数来配置引脚。
5. 确保I2C从设备地址正确。如果从设备地址配置不正确,可能会导致I2C通信失败或无法进入中断服务程序。请检查从设备地址的配置是否正确。
共2条
1/1 1 跳转至页