打印

STM32 库中一句不可理解,I2C总线的寄存器操作

[复制链接]
2211|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiaxun|  楼主 | 2013-3-9 08:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/* Clear AF flag if arised */
  I2C1->SR1 |= (uint16_t)0x0400;
清除 AF 标记
写 1 清除?
而且寄存器描述中说明了:
– 当没有返回应答时,硬件将置该位为’1’。
– 该位由软件写’0’清除,或在PE=0时由硬件清除。
其真实意图应该是:
I2C1->SR1 &= ~((uint16_t)0x0400);

沙发
ABCDELF| | 2013-3-9 15:59 | 只看该作者
正在学STM32的IIC
顶一下

使用特权

评论回复
板凳
拿起书本| | 2013-3-9 16:04 | 只看该作者
呵呵,IIC总线一直是STM32的诟病,鼓励分享

使用特权

评论回复
地板
xhtxzxw| | 2013-3-9 20:27 | 只看该作者
在哪个库文件里啊?库版本=?

使用特权

评论回复
5
cjhk| | 2013-3-9 20:32 | 只看该作者
在哪个库文件中找  我也不知道  还是一个问题  需要了解一下   最好向他们的FAE寻找答案  应该可以给你一个满意的答案

使用特权

评论回复
6
jiaxun|  楼主 | 2013-3-9 21:46 | 只看该作者
STM32F4 的 摄像头范例中,读起来很奇怪。还有就是 JPEG 模式中寄存器中JPEG位并不需要置位。

使用特权

评论回复
7
duljsky| | 2013-3-9 22:11 | 只看该作者
没错,意图就是I2C1->SR1 &= ~((uint16_t)0x0400);只能软件写零或者外设没使能时清零。

使用特权

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

本版积分规则

11

主题

27

帖子

0

粉丝