[STM32F1] 关于DeInit函数的用处的疑惑

[复制链接]
3310|4
 楼主| 摩天轮1111 发表于 2015-9-2 23:28 | 显示全部楼层 |阅读模式
QQ图片20150902232353.png
如标题所示,这里这个代码,在配置I2C之前,进行了一步DeInit的操作,可是这个操作就是开启一下I2C的外设时钟,然后再关闭外设时钟,我的疑惑是关闭了外设时钟,I2C_Init怎么去操作寄存器呢?另外我看了下那个最后包括cmd中也没有重新开启时钟的操作,这就问题来了,后来时钟没开,怎么就工作了呢?很纳闷,这里试过这个,之前写的代码用的很正常,现在回想一下有这么点疑惑了,因为记得在设置GPIO的时候,如果不开时钟的话,是没法设置的,这里I2C的操作这里,等于我先开了下时钟,然后又关了时钟,然后怎么就能操作了呢?
 楼主| 摩天轮1111 发表于 2015-9-2 23:36 | 显示全部楼层
不好意思,自己看串了,有点困了是,看走眼了,难怪说之前自己没有疑惑,一个开启时钟是clock cmd,这里的DeInit里面是reset cmd,不一样的,没有关闭时钟,我说难怪,脑袋都迷糊了
bbapple 发表于 2015-9-3 18:15 | 显示全部楼层
是这样吗??楼主的问题解决没啊,时钟问题??
amanda_s 发表于 2015-9-5 20:59 | 显示全部楼层
bbapple 发表于 2015-9-3 18:15
是这样吗??楼主的问题解决没啊,时钟问题??

楼主都说是看串了。
DeInit的作用就是复位外设,配置复位到初始状态。
bbapple 发表于 2015-9-13 09:56 | 显示全部楼层
amanda_s 发表于 2015-9-5 20:59
楼主都说是看串了。
DeInit的作用就是复位外设,配置复位到初始状态。

哦哦哦 知道了:lol
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

224

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部