STM32硬件I2C做从机,新手求助

2019-12-11 18:39发布

各位大佬好!我是个新手,最近调试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做主机,寻址寻不到,实物接线图,上传了,我感觉应该没问题,不知道是什么原因...急求各位大佬指出我的错误
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
阿豪博士
1楼-- · 2019-12-11 23:59
这还用IIC?感觉有点浪费啊!
cpumaker
2楼-- · 2019-12-12 01:28
试下地址左移一位
ujewm
3楼-- · 2019-12-12 06:42
 精彩回答 2  元偷偷看……
ujewm
4楼-- · 2019-12-12 09:05
cpumaker 发表于 2019-4-11 22:22
试下地址左移一位

今天调试成功了,但是数据发送不超过一秒就挂掉了,不知道是神马原因
xiaoha_abc
5楼-- · 2019-12-12 11:18
楼主还有更多信息能分享一下么?我最近也在做这个
阿豪博士
6楼-- · 2019-12-12 15:49
建议楼主 赶紧买一个 金沙滩的 逻辑分析仪!

如果手头富裕 最好的 5016

我不是打广告 这是忠告!

然后再搞一个 USB--IIC的调试器!

基本上也就是半天搞定吧

一周热门 更多>