你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F0 IIC slave mode  

[复制链接]
红玫瑰的偏爱 发布时间:2015-7-1 10:42
最近一直在研究STM32F0的IIC,因为项目要用到IIC,master/slave mode都需要,实现数据通信和IAP功能。
网上有关于这部分资料特别少,所以共享一下,只晒出初始化和中断部分的代码的框架。代码在附件 .c里面,
如果有不对的地方,欢迎指正,大家互相学习一下!

STM32F0相对于STM32F1和STM8S 有很大变化,支持时钟延长即I2C_CR1_NOSTRETCH,并且支持SMBUS。
1,初始化部分:配置时钟和引脚,不使用时钟延长的功能
2,I2C1_IRQHandler 主要处理中断事件
      在I2C_ISR_ADDR事件时,如果设置了多个地址,要判断是那个地址,并且要清除中断标志位。
        根据I2C1->ISR&I2C_ISR_DIR 的结果判断是发送数据还是接收数据。
   (1)发送数据,流程如下
         tx.png
        这里要区别一下I2C_ISR_TXIS,I2C_ISR_TXE,描述如下
       txe.png
               
    (2) 接收数据,流程如下
          RX.png

IIC SLAVE mode.zip

下载

1.84 KB, 下载次数: 872

评分

参与人数 1 ST金币 +10 收起 理由
沐紫 + 10 赞一个!

查看全部评分

1 收藏 4 评论37 发布时间:2015-7-1 10:42

举报

37个回答
豆豆521 回答时间:2015-7-1 15:39:45
之前用IIC的库函数,不知道为什么总会出错,后来就自己写了
你好我好大家好! 回答时间:2015-7-1 15:27:15
好东西,谢谢分享
数码小叶 回答时间:2015-7-1 20:19:19
好东西,谢谢分享
莫林2020 回答时间:2015-7-1 20:36:05
这个不错
chifen 回答时间:2015-7-2 08:41:43
路过





stary666 回答时间:2015-7-2 09:07:00
好东西,,,,,,,,,,
党国特派员 回答时间:2015-7-2 09:13:46
好东西,谢谢分享 blank.png blank1.png blank2.png blank3.png blank4.png blank5.png blank6.png blank7.png blank8.png blank9.png
dsjsjf 回答时间:2015-7-2 21:59:38
谢谢分享,挺详细的
拜仁主将 回答时间:2016-2-2 10:56:11
看看你这例程 我自己写的没ack
1234下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版