智能车制作

 找回密码
 注册

扫一扫,访问微社区

STM32论坛
查看: 4423|回复: 1
打印 上一主题 下一主题

STM32 I2C直接操作寄存器的读写函数

[复制链接]

5

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
威望
194
贡献
74
兑换币
0
注册时间
2011-5-4
在线时间
5 小时
跳转到指定楼层
1#
发表于 2011-5-24 09:37:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前调用库里面的封装函数写I2C的读写函数不好用,实在检查不出错误来就改换直接对寄存器操作,在最开始发送从地址之后主设备等待一次读SR1寄存器,跟着读SR2寄存器,我不知道这个应该怎么操作,高手帮忙看看我的函数错在哪里吧
void I2C_AcknowledgePolling(void)
{  
    do{
        I2C_GenerateSTART(I2C1,ENABLE);
        I2C_ReadRegister(I2C1,I2C_Register_SR1);//清除ADDR位

        I2C_Send7bitAddress(I2C1,C3088_Addr,I2C_Direction_Transmitter);
    }while(!(I2C_ReadRegister(I2C1,I2C_Register_SR1)&0x0002));
  
    I2C_ClearFlag(I2C1,I2C_FLAG_AF);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 03:57 , Processed in 0.042629 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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