搜索
bottom↓
回复: 20

STM32的硬件IIC口内部有上拉吗?当普通IO使用需要外接吗?

[复制链接]

出0入4汤圆

发表于 2018-6-29 18:27:43 | 显示全部楼层 |阅读模式
STM32的硬件IIC口内部有上拉吗?  当普通IO使用需要外接上拉电阻吗?  

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2018-6-29 18:37:20 | 显示全部楼层
听说STM32硬件IIC不怎么好,一直软件模拟

出0入0汤圆

发表于 2018-6-29 19:07:00 | 显示全部楼层
内部上拉也是弱上拉,达不到I2C的电流的

出0入8汤圆

发表于 2018-6-29 20:05:15 来自手机 | 显示全部楼层
我也是软件模拟的

出0入0汤圆

发表于 2018-6-30 12:51:16 | 显示全部楼层
必须要添加上拉电阻呀!被ST的硬件IIC搞怕了,也绝望了。之后就移植软件模拟了----

出0入0汤圆

发表于 2018-6-30 13:12:26 | 显示全部楼层
用软件IIC模拟吧,大兄弟。

出0入0汤圆

发表于 2018-6-30 13:19:07 | 显示全部楼层
stm32 io有内部上下拉,配置I2C IO要求是浮空输入,所以要在外部加上拉电阻。

出0入89汤圆

发表于 2018-6-30 13:59:51 | 显示全部楼层
IIC模式不管是STM32 还是STM8 都没上拉,必须自己加。要达到100khz的速度建议使用1k的电阻,不要用太大的,速度上不去,很多人以为是芯片问题。其实硬件IIc很好用的。特别是做从机时。

出0入93汤圆

发表于 2018-6-30 14:44:51 来自手机 | 显示全部楼层
据我所知,至少STM32F0是有开漏+内部上拉的,但更多的应该是没有的。所以要你自己看数据手册了。

出0入0汤圆

发表于 2018-7-1 10:25:50 | 显示全部楼层
内部上拉是40K左右的阻值,IIC上拉不能这么大,必须外部加上拉电阻

出0入0汤圆

发表于 2018-7-1 12:09:47 来自手机 | 显示全部楼层
楼主说了是当普通IO用的时候,你们楼上一帮人纠结iic,现在都流行回帖不看贴的嘛?

出0入0汤圆

发表于 2018-11-16 13:33:03 | 显示全部楼层
具体要看手册,一般都有上拉,上拉需要MCU运行后执行,所以是取代不来 外部上拉的

出10入12汤圆

发表于 2018-11-16 13:39:03 | 显示全部楼层
一直是软件模拟!!

出0入0汤圆

发表于 2019-4-11 07:11:18 | 显示全部楼层
szjqt 发表于 2018-6-30 13:59
IIC模式不管是STM32 还是STM8 都没上拉,必须自己加。要达到100khz的速度建议使用1k的电阻,不要用太大的, ...

你好!我是个新手,最近调试STM32 F746硬件I2C的从机模式,用CubeMX配置的PB8,PB9分别为SDA,SLC, 然后从机地址设置为30,I2C初始化如下
/* I2C1 init function */
static void MX_I2C1_Init(void)
{

  hi2c1.Instance = I2C1;
  hi2c1.Init.Timing = 0x20404768;
  hi2c1.Init.OwnAddress1 = 60;
  hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
  hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
  hi2c1.Init.OwnAddress2 = 0;
  hi2c1.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
  hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
  hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
  if (HAL_I2C_Init(&hi2c1) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

    /**Configure Analogue filter
    */
  if (HAL_I2CEx_ConfigAnalogFilter(&hi2c1, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

    /**Configure Digital filter
    */
  if (HAL_I2CEx_ConfigDigitalFilter(&hi2c1, 0) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

}

用arduino due做主机,寻址寻不到,实物接线图,我上传了,应该没问题,不知道是什么原因...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入89汤圆

发表于 2019-4-12 21:09:43 | 显示全部楼层
ujewm 发表于 2019-4-11 07:11
你好!我是个新手,最近调试STM32 F746硬件I2C的从机模式,用CubeMX配置的PB8,PB9分别为SDA,SLC, 然后从 ...

你确定发出去了么,我一般都是用示波器确定看到波形。如果要看到数据就接上逻辑分析仪,看看发出的数据到底是不是我所设置的。如果都对了那就只能是硬件问题了。

出0入0汤圆

发表于 2019-4-12 21:21:23 来自手机 | 显示全部楼层
用模拟吧,哈哈哈

出0入0汤圆

发表于 2019-4-12 23:17:43 | 显示全部楼层
szjqt 发表于 2019-4-12 21:09
你确定发出去了么,我一般都是用示波器确定看到波形。如果要看到数据就接上逻辑分析仪,看看发出的数据到 ...

今天连接的时候Arduino Due这边收到了,但不超过一秒,就挂掉了,挂掉之后我重新上传i2c scanner到arduino想看看STM32还在不在I2C线上,结果找不到,不知道什么原因

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-4-12 23:18:11 | 显示全部楼层
love_zjb 发表于 2019-4-12 21:21
用模拟吧,哈哈哈

我今天试试软件I2C,真是愁死我了

出0入89汤圆

发表于 2019-4-16 17:15:48 | 显示全部楼层
ujewm 发表于 2019-4-12 23:17
今天连接的时候Arduino Due这边收到了,但不超过一秒,就挂掉了,挂掉之后我重新上传i2c scanner到arduin ...

软件的你可以这样写,硬件这样不行的哦。
硬件要把从端掉线,干扰等各种问题都有考虑进去。主机是根据从机的状态决定通信流程的。你要把检测从机故障的超时做在while中,否则一旦掉线甚至手碰一下,主机都会锁死的。

出0入0汤圆

发表于 2019-4-17 19:57:24 | 显示全部楼层
szjqt 发表于 2019-4-16 17:15
软件的你可以这样写,硬件这样不行的哦。
硬件要把从端掉线,干扰等各种问题都有考虑进去。主机是根据从 ...

稍微改了一下,加了个while(Wire.available() == 0){}等待数据,现在数据可以从STM32不断的向Arduino传输,其中有一个值wire.avaiable()这个不应该是返回缓冲区的字节数嘛!这里很奇怪的返回了-1,这是什么回事?
然后我下一步想做的是从Arduino发送2个字节给STM32, STM32接收到数据之后直接发送回Arduino。

Arduino这边我是这么写的:
byte my_buffer[2] = {1,1};

Wire.beginTransmission(0x1E);
Wire.write(my_buffer,2);
Wire.endTransmission();

STM32这边:
在while(1)里首先清理buffer,全初始化为0x01,然后开始接收数据
HAL_Delay(10);
HAL_I2C_Slave_Receive_IT(&hi2c1, re_buffer, 2)
之后的根图片的一样,但是没办法实现,不知道是哪里出了问题,还请大佬提示一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-5-15 21:08:57 | 显示全部楼层
好消息好消息,STM32 I2C Slave模式配置好了,结合自己做的上位机软件调试电机也成功了等我做完毕设在发上来
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 15:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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