|
最近一直在研究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)发送数据,流程如下
这里要区别一下I2C_ISR_TXIS,I2C_ISR_TXE,描述如下
(2) 接收数据,流程如下
|
IIC SLAVE mode.zip
下载1.84 KB, 下载次数: 872
| 之前用IIC的库函数,不知道为什么总会出错,后来就自己写了 |
| 好东西,谢谢分享 |
| 好东西,谢谢分享 |
| 这个不错 |
|
路过 |
| 好东西,,,,,,,,,, |
好东西,谢谢分享
|
| 谢谢分享,挺详细的 |
| 看看你这例程 我自己写的没ack |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版