打印
[STM32F1]

关于DeInit函数的用处的疑惑

[复制链接]
2553|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

如标题所示,这里这个代码,在配置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的作用就是复位外设,配置复位到初始状态。

使用特权

评论回复
5
bbapple| | 2015-9-13 09:56 | 只看该作者
amanda_s 发表于 2015-9-5 20:59
楼主都说是看串了。
DeInit的作用就是复位外设,配置复位到初始状态。

哦哦哦 知道了:lol

使用特权

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

本版积分规则

38

主题

224

帖子

15

粉丝