这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » I2C从模式编程之STOP中断

共1条 1/1 1 跳转至

I2C从模式编程之STOP中断

院士
2025-01-05 14:51:46     打赏

本I2C专题涉及I2C主模式和从模式,并以STM32F407系列MCU做为示例。我们首先总结I2C从模式编程时遇到的各种各样的问题及解决办法,欢迎大家持续关注。

在看STM32F407的用户编程手册时,I2C的中断中有STOP信号接收成功的触发——STOPF中断。所以我就简单地认为从机接收到主机发送的STOP信号后立即触发一个STOP中断。我也就自然地将此信号做为我仌通讯协议的帧尾判断条件使用。果然不出意外的发生了意外,帧尾判断严重失败。

使用逻辑分析仪,我在对I2C总线进行监测分析时,看到I2C通讯正常,仅仅是我软件判断异常导致的帧尾判断异常,所以……,我又返回STM32F407的用户编程手册来看看所以然。

I2C从模式问题_02.png

这一看,果然,人家的应用事件处理策略还是高我一筹。

1、STOPF中断,首先是仅有从模式下才会支持触发,主模式下这个中断无效;

2、当接收到NACK时,STOPF则不会置位;

3、如果看到STOPF置位后,仍然建议通过读SR1寄存器和写CR1寄存器的方式来清除STOPF标志位;

人家STM32F407的I2C从模式中断中的STOPF特性需要注意以上三点,而我的程序编写仅仅处理了一处,我的代码如果能正常那才奇怪呢!

亲爱的网友们,你们不要犯我同样的粗心错误啊!





关键词: stm32     i2c     iic     interrupt         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]