STM32的I2C在接收的时候如何提供的时钟?

[复制链接]
 楼主| 不锈钢铁 发表于 2011-8-25 16:58 | 显示全部楼层 |阅读模式
我最近在用STM32连接一个铁电,借鉴了下EEPROM的例程,写数据的部分明白了。但是接收我有些不懂,存储设备是不会提供时钟的,STM32在读数据的时候需要给存储器提供始终吧,可是我没看出来是这是怎么提供时钟的
 楼主| 不锈钢铁 发表于 2011-8-25 16:58 | 显示全部楼层
/* While there is data to be read */
  while(NumByteToRead)  
  {
    if(NumByteToRead == 1)
    {
      /* Disable Acknowledgement */
      I2C_AcknowledgeConfig(I2C_EE, DISABLE);
      
      /* Send STOP Condition */
      I2C_GenerateSTOP(I2C_EE, ENABLE);
    }

    /* Test on EV7 and clear it */
    if(I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_RECEIVED))  
    {      
      /* Read a byte from the EEPROM */
      *pBuffer = I2C_ReceiveData(I2C_EE);

      /* Point to the next location where the byte read will be saved */
      pBuffer++;
      
      /* Decrement the read bytes counter */
      NumByteToRead--;        
    }
香水城 发表于 2011-8-25 17:01 | 显示全部楼层
用示波器看不出来吗?
 楼主| 不锈钢铁 发表于 2011-8-25 18:18 | 显示全部楼层
3# 香水城 在家呢,手头没示波器。。。。
城主,能否直言讲下,小弟不胜感激。
还有就是,我的程序总是卡在while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT));
sinadz 发表于 2011-8-25 18:35 | 显示全部楼层
楼主在家科研,佩服
 楼主| 不锈钢铁 发表于 2011-8-25 18:40 | 显示全部楼层
5# sinadz 都是无奈的。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:小鸟快跑

31

主题

730

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:小鸟快跑

31

主题

730

帖子

5

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