打印

I2C的SMBALERT是怎么检测到中断的

[复制链接]
548|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
你说说说说|  楼主 | 2018-6-29 11:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
mb, I2c, ni, ST, lm

以下是库例子I2C的设置



void LM75_Init(void)

{

  I2C_InitTypeDef   I2C_InitStructure;

  

  LM75_LowLevel_Init();

  

  I2C_DeInit(LM75_I2C);



  /*!< LM75_I2C Init */

  I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusHost;

  I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;

  I2C_InitStructure.I2C_OwnAddress1 = 0x00;

  I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;

  I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;

  I2C_InitStructure.I2C_ClockSpeed = LM75_I2C_SPEED;

  I2C_Init(LM75_I2C, &I2C_InitStructure);



  /*!< Enable SMBus Alert interrupt */

  I2C_ITConfig(LM75_I2C, I2C_IT_ERR, ENABLE);



  /*!< LM75_I2C Init */

  I2C_Cmd(LM75_I2C, ENABLE);

}



SMBALERT的GPIO配成PB5



I2C_ITConfig(LM75_I2C, I2C_IT_ERR, ENABLE); 打开中断



I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusHost; 是必须的吗?



怎么知道他的中断触发方式?

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

355

主题

355

帖子

1

粉丝