OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3761|回复: 7

STM32f103 II2问题请教

[复制链接]

3

主题

9

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2011-2-5
在线时间
5 小时
发表于 2016-7-22 08:36:13 | 显示全部楼层 |阅读模式
Hi 原子哥:

void MPU_IIC_Init(void)
{                                             
  GPIO_InitTypeDef  GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
               
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11;       
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;               
  GPIO_Init(GPIOB, &GPIO_InitStructure);                                         
       
  GPIO_SetBits(GPIOB,GPIO_Pin_10|GPIO_Pin_11);                                               

}


软件模拟IIC初始化,为什么要用推挽输出?不是外接了3.3的上拉电源吗?我在一块板子上移植程序时发现,用推挽输出,传输的数据有时候正常,有时候错位了。示波器看波形很多过冲。改成开漏输出后就正常了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-7-7
在线时间
110 小时
发表于 2016-7-22 11:12:11 | 显示全部楼层
本帖最后由 zhang00956 于 2016-7-22 11:14 编辑

我用别人的程序,用的是开漏输出,直接能用,原子的推挽一直移植不成功

模拟i2c.zip

2.57 KB, 下载次数: 217

回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2011-2-5
在线时间
5 小时
 楼主| 发表于 2016-7-22 11:36:15 | 显示全部楼层
zhang00956 发表于 2016-7-22 11:12
我用别人的程序,用的是开漏输出,直接能用,原子的推挽一直移植不成功

是的,不明白为什么原子哥用的是推挽输出
回复 支持 反对

使用道具 举报

10

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-7-7
在线时间
110 小时
发表于 2016-7-22 12:05:11 | 显示全部楼层
sunshine 发表于 2016-7-22 11:36
是的,不明白为什么原子哥用的是推挽输出

我给你的附件中有的地方是一个EEPROM的驱动可以删掉,SDA,SCL用的是PB67,你看一下
回复 支持 反对

使用道具 举报

10

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-7-7
在线时间
110 小时
发表于 2016-7-22 16:10:15 | 显示全部楼层
你改开漏之后其它的地方都没有改么?
回复 支持 反对

使用道具 举报

6

主题

110

帖子

0

精华

高级会员

Rank: 4

积分
553
金钱
553
注册时间
2014-10-23
在线时间
195 小时
发表于 2016-7-22 16:13:09 | 显示全部楼层
同样疑惑~~~
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2011-2-5
在线时间
5 小时
 楼主| 发表于 2016-7-22 16:43:01 | 显示全部楼层
zhang00956 发表于 2016-7-22 16:10
你改开漏之后其它的地方都没有改么?

没改的
回复 支持 反对

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11545
金钱
11545
注册时间
2014-4-1
在线时间
1315 小时
发表于 2016-7-22 16:54:22 | 显示全部楼层

用推挽是不对的,必须用开漏,而且要外接上拉电阻。
如果真有这问题,原子例程应当快点改过来。

@正点原子


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 11:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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