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

2019-12-11 18:20发布

STM32的硬件IIC口内部有上拉吗?  当普通IO使用需要外接上拉电阻吗?  
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
ujewm
2019-12-13 13:25
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做主机,寻址寻不到,实物接线图,我上传了,应该没问题,不知道是什么原因...

一周热门 更多>