STM32中断方式IIC

发布于 2024-06-28  100 次阅读


准备

如果使用CubeMX生成代码,以下步骤可以跳过:
1.在Drivers>CMSIS>Device>ST>STM32L4xx>Include>stm32l475xx.h中找到"I2C1_EV_IRQn"
2.在i2c中的HAL_I2C_MspInit()函数中添加:

HAL_NVIC_SetPriority(I2C1_EV_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(I2C1_EV_IRQn);

3.在Core>Startup>startup_stm32l475rgtx.s中找到"I2C1_EV_IRQHandler"
4.在stm32l4xx_it.c中编写中断入口函数,中断入口函数中编写中断处理函数,中断处理函数HAL_I2C_EV_IRQHandler()可以在stm32l4xx_hal_i2c.h中找到

void I2C1_EV_IRQHandler(void)
{
  HAL_I2C_EV_IRQHandler(&hi2c1);
}

应用

HAL_I2C_Master_Transmit_IT()


最后更新于 2024-06-28