OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10201|回复: 17

STM32F030的I2C通信中断实现方式

[复制链接]

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-21
在线时间
11 小时
发表于 2015-12-15 09:30:53 | 显示全部楼层 |阅读模式
5金钱
最近在编写基于STM32F030的I2C通信,可以实现循环等待的主发送、主接收、从发送、从接收,但是想通过中断方式实现,却发现寄存器没有MSL位(主从模式位,类似于STM32F1的SR2的0位),不知道STM32F0如何确定主从模式,我使用ISR的ADDR为来作为主从判断,好像会有问题,发送时TXIS不置位、接收时RXNE不置位,附件是例程,谁可以帮我看看有什么问题吗?

I2C for STM32F0.zip

2.3 MB, 下载次数: 527

最佳答案

查看完整内容[请看2#楼]

调好了,你看一下附件吧
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-21
在线时间
11 小时
 楼主| 发表于 2015-12-15 09:30:54 | 显示全部楼层
alisa 发表于 2016-3-11 15:43
楼主,你好,请问你的stm32f030的硬件i2c的中断方式你最终调试ok了吗?

调好了,你看一下附件吧

I2C for STM32F0.zip

1.4 MB, 下载次数: 2511

I2C例程 uVision 5 project

回复

使用道具 举报

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2015-12-15 09:42:23 | 显示全部楼层
F0x是F1x后出的,I2C自动切换主从模式。
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
回复

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-21
在线时间
11 小时
 楼主| 发表于 2015-12-15 09:51:49 | 显示全部楼层
回复【2楼】emWin:
---------------------------------
嗯,不过我编写中断函数的时候,不知道怎么确定当前是主还是从,当收到RXNE和TXIS事件的时候如何判断是主发送和从发送、主接收和从接收呢?
回复

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2015-6-10
在线时间
16 小时
发表于 2016-3-11 15:43:00 | 显示全部楼层
taishan519 发表于 2015-12-15 09:51
回复【2楼】emWin:
---------------------------------
嗯,不过我编写中断函数的时候,不知道怎么确定当前 ...

楼主,你好,请问你的stm32f030的硬件i2c的中断方式你最终调试ok了吗?
回复

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2015-6-10
在线时间
16 小时
发表于 2016-3-11 17:18:51 | 显示全部楼层
taishan519 发表于 2016-3-11 17:11
调好了,你看一下附件吧

太感谢你了,我先看看,如有不懂得还请麻烦指点下好吗?谢谢你了
回复

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2015-6-10
在线时间
16 小时
发表于 2016-3-11 17:58:46 | 显示全部楼层
taishan519 发表于 2016-3-11 17:11
调好了,你看一下附件吧

楼主,你好,你的程序我烧录后不能进入中断?是不是哪里有需要设置的??麻烦请指点下,谢谢!
回复

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2015-6-10
在线时间
16 小时
发表于 2016-3-14 09:55:12 | 显示全部楼层
taishan519 发表于 2015-12-15 09:30
调好了,你看一下附件吧

我用stm32f030的i2c读写eeprom,麻烦请楼主指点下,谢谢!
回复

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-21
在线时间
11 小时
 楼主| 发表于 2016-3-15 12:00:44 | 显示全部楼层
alisa 发表于 2016-3-11 17:58
楼主,你好,你的程序我烧录后不能进入中断?是不是哪里有需要设置的??麻烦请指点下,谢谢!

首先你得确认你I2C的线是否接对了,如果不对可能对方都收不到地址,就进不了中断了
回复

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-21
在线时间
11 小时
 楼主| 发表于 2016-3-15 12:04:20 | 显示全部楼层
alisa 发表于 2016-3-14 09:55
我用stm32f030的i2c读写eeprom,麻烦请楼主指点下,谢谢!

不好意思,调试了两个STM32F0之间I2C的通信
回复

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-21
在线时间
11 小时
 楼主| 发表于 2016-3-15 12:04:58 | 显示全部楼层
alisa 发表于 2016-3-11 17:58
楼主,你好,你的程序我烧录后不能进入中断?是不是哪里有需要设置的??麻烦请指点下,谢谢!

你还要确认两端的从机地址是否正确
回复

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2015-6-10
在线时间
16 小时
发表于 2016-3-15 13:34:44 | 显示全部楼层
taishan519 发表于 2016-3-15 12:00
首先你得确认你I2C的线是否接对了,如果不对可能对方都收不到地址,就进不了中断了

i2c的线接的没问题,因为我用查询方式可以正常读写数据的,你有调过eeprom的吗?
回复

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2015-6-10
在线时间
16 小时
发表于 2016-3-15 13:36:32 | 显示全部楼层
taishan519 发表于 2016-3-15 12:04
你还要确认两端的从机地址是否正确

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

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2015-12-28
在线时间
29 小时
发表于 2017-3-31 11:51:19 | 显示全部楼层
楼主!求助,我用你的程序调试从机发主机收,很多次才能采到组数据,从机中断IIC,主机模拟IIC
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2017-5-25
在线时间
1 小时
发表于 2017-5-25 15:03:20 | 显示全部楼层
xiexiela
回复

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-1-15
在线时间
3 小时
发表于 2018-11-11 18:30:38 | 显示全部楼层
从机中断模式,验证成功,顶一下楼主!!!
顺便K一下那些说用IO模拟才稳定的人。
回复

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-1-14
在线时间
8 小时
发表于 2019-2-20 10:10:26 | 显示全部楼层
借鉴下
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2020-4-29
在线时间
0 小时
发表于 2020-4-29 15:22:45 | 显示全部楼层
为什么不能下载?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 05:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表