求助,GD32 I2C遇到点问题

[复制链接]
6280|6
 楼主| 一如既往 发表于 2013-8-14 21:49 | 显示全部楼层 |阅读模式
GD32F103C8芯片,通过I2C1连接24LC32 EEROM。读写时发现单片机发完EEROM地址后,时钟线SCL变为低电平,通信锁死。
zkcaptain 发表于 2013-8-15 08:55 | 显示全部楼层
楼主试试用把这个函数替换掉:I2C_Standby_24C
代码见附件

I2C_Standby_24C.rar

770 Bytes, 下载次数: 69

I2C判忙

评论

有效果,赞一个  发表于 2021-10-26 20:57
 楼主| 一如既往 发表于 2013-8-15 19:33 | 显示全部楼层
zkcaptain 发表于 2013-8-15 08:55
楼主试试用把这个函数替换掉:I2C_Standby_24C
代码见附件

多谢,GD的I2C代码是不是和ST的不兼容,我的代码是STM32的,直接搬到GD芯片,I2C这部分用不了。看样还得看看GD手册才行,偷不了懒了
tonydong 发表于 2013-8-16 11:41 | 显示全部楼层
//       I2C_ITConfig(I2C1,I2C_IT_EVT,ENABLE);


/* Test on EV6 and clear it */

timeout=0;

//       while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))

while(0==I2C_GetFlagStatus(I2C1,I2C_FLAG_ADDR))

//       while( 0==((I2C1->SR1)&0x0002) )

{

           if(timeout++>=I2C_TIMEOUT)

           {

//                          timeout = 0;     // error

                    return 0;

           }

}

I2C1->SR1;

I2C1->SR2;


/* Send the EEPROM's internal address to write to */    
红色字体中间加入如上代码
gaochy1126 发表于 2013-8-27 10:05 | 显示全部楼层
一直使用模拟的iic
gaochy1126 发表于 2013-8-27 10:06 | 显示全部楼层
个人感觉片子上的iic不是特别灵活的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

43

帖子

1

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