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

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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版