STM32F030的I2C通信中断实现方式

2019-07-21 05:10发布

最近在编写基于STM32F030的I2C通信,可以实现循环等待的主发送、主接收、从发送、从接收,但是想通过中断方式实现,却发现寄存器没有MSL位(主从模式位,类似于STM32F1的SR2的0位),不知道STM32F0如何确定主从模式,我使用ISR的ADDR为来作为主从判断,好像会有问题,发送时TXIS不置位、接收时RXNE不置位,附件是例程,谁可以帮我看看有什么问题吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
alisa
1楼-- · 2019-07-22 06:27
taishan519 发表于 2015-12-15 09:30
调好了,你看一下附件吧

我用stm32f030的i2c读写eeprom,麻烦请楼主指点下,谢谢!
taishan519
2楼-- · 2019-07-22 09:24
alisa 发表于 2016-3-11 17:58
楼主,你好,你的程序我烧录后不能进入中断?是不是哪里有需要设置的??麻烦请指点下,谢谢!

首先你得确认你I2C的线是否接对了,如果不对可能对方都收不到地址,就进不了中断了
taishan519
3楼-- · 2019-07-22 10:17
 精彩回答 2  元偷偷看……
taishan519
4楼-- · 2019-07-22 14:35
alisa 发表于 2016-3-11 17:58
楼主,你好,你的程序我烧录后不能进入中断?是不是哪里有需要设置的??麻烦请指点下,谢谢!

你还要确认两端的从机地址是否正确
alisa
5楼-- · 2019-07-22 19:34
taishan519 发表于 2016-3-15 12:00
首先你得确认你I2C的线是否接对了,如果不对可能对方都收不到地址,就进不了中断了

i2c的线接的没问题,因为我用查询方式可以正常读写数据的,你有调过eeprom的吗?
alisa
6楼-- · 2019-07-22 20:06
taishan519 发表于 2016-3-15 12:04
你还要确认两端的从机地址是否正确

我用的是stm32f0读写eeprom的数据,eeprom的器件地址我核对了是正确的,不知楼主方便吗,可否指点下,谢谢你,我写的程序只能进发送中断,接收中断进不去

一周热门 更多>