搜索
查看: 1820|回复: 7

[已解决] I2C ISR Busy bit问题

[复制链接]

该用户从未签到

17

主题

30

帖子

3

蝴蝶豆

中级会员

最后登录
2019-5-8
发表于 2018-4-30 15:48:18 | 显示全部楼层 |阅读模式
请问一下I2C的ISR Busy bit什么时候会被设为1, 什么时候会被设为0
会被设为1之后, 就一直没有被设为0的情况是什么??


Thanks

回复

使用道具 举报

该用户从未签到

4

主题

40

帖子

14

蝴蝶豆

高级会员

最后登录
2023-4-9
发表于 2018-5-3 10:54:57 | 显示全部楼层
HAL_I2C_MspInit()
{
  __HAL_RCC_I2C1_CLK_ENABLE();
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}

這個方法你先試試看
先開啟I2C Clock
在設定IO

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

17

主题

30

帖子

3

蝴蝶豆

中级会员

最后登录
2019-5-8
 楼主| 发表于 2018-5-3 11:11:20 | 显示全部楼层
hungchieh1029 发表于 2018-5-3 10:54
HAL_I2C_MspInit()
{
  __HAL_RCC_I2C1_CLK_ENABLE();

请问一下为什么要先call __HAL_RCC_I2C1_CLK_ENABLE(),
接着再去call HAL_GPIO_Init(GPIOB, &GPIO_InitStruct)?

这和原来Cube自动产生的顺序相反,这个影响到什么?
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

40

帖子

14

蝴蝶豆

高级会员

最后登录
2023-4-9
发表于 2018-5-3 11:14:03 | 显示全部楼层
我一開始也是會遇到I2C init完之後就遇到busy了,所以我才對調的
回复 支持 反对

使用道具 举报

该用户从未签到

17

主题

30

帖子

3

蝴蝶豆

中级会员

最后登录
2019-5-8
 楼主| 发表于 2018-5-3 11:30:18 | 显示全部楼层
hungchieh1029 发表于 2018-5-3 11:14
我一開始也是會遇到I2C init完之後就遇到busy了,所以我才對調的

I2C init完之后就遇到busy了
==>是指还没要去读取I2C就busy? 或是尝试去读取之后, timeout, 之后就一直busy?

请问一下你有遇过, 有时候, 是非100%每次(发生在开机之后)第1次去读取I2C就失败, 之后再retry, 不过retry几次后, busy bit就被设起来, 之后就busy bit一直为1

Thanks
回复 支持 反对

使用道具 举报

该用户从未签到

133

主题

4688

帖子

239

蝴蝶豆

版主

最后登录
2021-4-10
发表于 2018-5-3 11:37:38 | 显示全部楼层
I2C busy可能发生在读取完成以后,楼主用的是硬件I2C模块,还是模拟的I2C。注意每次使用完后,一定要释放掉I2C总线。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

17

主题

30

帖子

3

蝴蝶豆

中级会员

最后登录
2019-5-8
 楼主| 发表于 2018-5-3 11:42:06 | 显示全部楼层
安 发表于 2018-5-3 11:37
I2C busy可能发生在读取完成以后,楼主用的是硬件I2C模块,还是模拟的I2C。注意每次使用完后,一定要释放掉 ...

我是用STM的HAL lib, HAL_I2C_Mem_Read()去对I2C做读取的, 如果HAL_I2C_Mem_Read() return 值不是HAL_OK, 我就要去retry, call HAL_I2C_Mem_Read()

注意每次使用完后,一定要释放掉I2C总线。
==>我要怎么做释放? 用HAL lib or 其他方式?
或着有其他的建议?
回复 支持 反对

使用道具 举报

该用户从未签到

133

主题

4688

帖子

239

蝴蝶豆

版主

最后登录
2021-4-10
发表于 2018-5-3 13:33:53 | 显示全部楼层
库应该不用去释放,出现这种情况是在操作前,还是操作完毕后。示波器抓一下波形
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-12 14:20 , Processed in 1.203814 second(s), 45 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表