打印

询I2C模块的复位方法

[复制链接]
2508|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xsq5360|  楼主 | 2011-6-27 12:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一种是直接对I2C_CR1寄存器中的SWRST进行操作
/* Put under reset the I2C1 peripheral */
I2C_SoftwareResetCmd(I2C1, ENABLE);
另外一种如下,
/* Enable I2C1 reset state */
RCC_APB1PeriphResetCmd(RCC_APB1Periph_I2C1, ENABLE);

这两种操作有什么区别?
沙发
香水城| | 2011-6-27 13:48 | 只看该作者
第一种方法相当于复位到上电时的状态。
第二种方法只复位状态机。

使用特权

评论回复
板凳
xsq5360|  楼主 | 2011-6-27 20:29 | 只看该作者
本帖最后由 xsq5360 于 2011-6-27 20:32 编辑

还请香版详解,复位状态机是什么意思?我详细看了STM32数据手册中RCC部分的内容,还是不明白外设复位寄存器的具体作用
2# 香水城

使用特权

评论回复
地板
香水城| | 2011-6-27 20:36 | 只看该作者
复位状态机的意思就是复位I2C模块内部的状态机,如果你不知道什么是状态机,这个问题就不好解释了,:$

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

57

帖子

1

粉丝