搜索
bottom↓
回复: 11

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

[复制链接]

出0入0汤圆

发表于 2019-4-11 07:14:44 | 显示全部楼层 |阅读模式
各位大佬好!我是个新手,最近调试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

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

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

出0入0汤圆

发表于 2019-4-11 08:46:01 | 显示全部楼层
这还用IIC?感觉有点浪费啊!

出55入66汤圆

发表于 2019-4-11 22:22:12 来自手机 | 显示全部楼层
试下地址左移一位

出0入0汤圆

 楼主| 发表于 2019-4-13 03:05:21 | 显示全部楼层
阿豪博士 发表于 2019-4-11 08:46
这还用IIC?感觉有点浪费啊!

在做毕设,学一下嘛 感觉自己被自己坑惨了

出0入0汤圆

 楼主| 发表于 2019-4-13 03:07:39 | 显示全部楼层
cpumaker 发表于 2019-4-11 22:22
试下地址左移一位

今天调试成功了,但是数据发送不超过一秒就挂掉了,不知道是神马原因

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2019-4-13 06:57:58 | 显示全部楼层
楼主还有更多信息能分享一下么?我最近也在做这个

出0入0汤圆

发表于 2019-4-13 08:17:16 | 显示全部楼层
建议楼主 赶紧买一个 金沙滩的 逻辑分析仪!

如果手头富裕 最好的 5016

我不是打广告 这是忠告!

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

基本上也就是半天搞定吧

出0入0汤圆

发表于 2019-4-13 10:16:52 | 显示全部楼层
接了上拉电阻没?

出0入0汤圆

 楼主| 发表于 2019-4-14 04:24:10 | 显示全部楼层
xiaoha_abc 发表于 2019-4-13 06:57
楼主还有更多信息能分享一下么?我最近也在做这个

我也在试 没有什么经验可以分享的暂时,数据传输有点问题,估计是数据结构用错,我改改

出0入0汤圆

 楼主| 发表于 2019-4-14 04:24:57 | 显示全部楼层
阿豪博士 发表于 2019-4-13 08:17
建议楼主 赶紧买一个 金沙滩的 逻辑分析仪!

如果手头富裕 最好的 5016

机械出身的我,表示对电子的东西我头大

出0入0汤圆

 楼主| 发表于 2019-4-14 05:41:11 | 显示全部楼层
sme 发表于 2019-4-13 10:16
接了上拉电阻没?

Arduino Due 20 21作为I2C口自带有上拉电阻不用接,现在能通讯了,就是通讯一秒就挂了,我估计是因为我数据变量弄错从而导致爆了

出0入0汤圆

 楼主| 发表于 2019-4-15 17:26:27 | 显示全部楼层
想问一下各位大佬,STM32这边I2C接收数据的话具体是怎么个过程?我对数据这块不了解,比如说我Arduino这边想传个uint16过去,必须先在arduino这边先拆成两个uint8传到STM32,然后在STM32这边在组合起来成uint16对吧?但是STM32这边接收数据之后是怎么存的呢?这个我不清楚,有没有人帮解答一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 05:29

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

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