你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F429硬件IIC需要外围上拉电阻吗

[复制链接]
wofei1314 提问时间:2016-1-7 18:02 /
如题,STM32F429使用IIC通信的时候,是否需要外加上拉电阻?

看过很多资料,都说是需要上拉电阻,让人郁闷的是,这次设计硬件的时候,偏偏忘记了加,于是乎我进行了测试,

  1. //使能IO引脚时钟
  2. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
  3. //打开复用功能
  4. GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_I2C1);
  5. GPIO_PinAFConfig(GPIOB,GPIO_PinSource7,GPIO_AF_I2C1);
  6. //配置GPIO
  7. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;         
  8. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  9. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  10. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//GPIO_PuPd_NOPULL;
  11. GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
  12. GPIO_Init(GPIOB, &GPIO_InitStructure);
复制代码
发现,使用内置的上拉,单片机可以正常IIC通信,如果使用NOPULL,则IIC工作不正常...

是否可以说,只要使用内部的上拉就可以省掉外部上拉?
有人做过这样的测试不?

收藏 评论10 发布时间:2016-1-7 18:02

举报

10个回答
lising 回答时间:2016-1-7 20:13:42
保险的话还是外置上拉电阻。
zhangdaijin 回答时间:2016-1-7 20:14:27
加上稳当点
风之力-395256 回答时间:2016-1-8 08:51:54
F4的我还没有实验,但F1的肯定要外加上拉电阻,F1在配置I2C的AFIO之后会自动变为开漏模式,没有外部上拉将不会响应ACK,导致通信失败。
xmshao 回答时间:2016-1-8 13:14:27
当你复用为I2C后,它就被配置为OD类型。
你可以开启内部上拉,如果合适够用的话。内部上拉电阻大概40K上下。
你也可以外加上拉。
反正上拉是要的。
yanhaijian 回答时间:2016-1-8 14:07:41
设计个上拉电阻,不用可以不焊接。
wofei1314 回答时间:2016-1-9 09:51:10
谢谢各位捧场,这次是纯属疏忽没加,运气好,F429可以设置内部上拉,能工作..
MrJiu 回答时间:2016-1-9 11:29:27
输出可以设置内部上拉??一般是输入才内部上拉吧......
wofei1314 回答时间:2016-1-10 14:03:39
MrJiu 发表于 2016-1-9 11:29
输出可以设置内部上拉??一般是输入才内部上拉吧......

恩,我理解的也和你一样,但是我感觉IIC输出的时候,没用内部上拉,单片机的IO驱动能力足够,输入的时候上拉才有效(外部IIC的输出能力不足,被上拉至高)....
vowping 回答时间:2018-3-23 16:06:39
你好,请问能分享一下你的IIC初始化程序吗,调试中,总是没有ACK回应
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版