[应用相关] STM32L4 I2C主从通信,第一次通信成功,第二次只检测一次中

[复制链接]
830|11
 楼主| cc38600 发表于 2022-5-10 18:55 | 显示全部楼层 |阅读模式
本帖最后由 cc38600 于 2022-5-10 19:00 编辑

STM32L4 通过I2C方式组成主机——从机通信(主机从机都是stm32L431),主机给从机第一次发送消息能够成功,但是从机返回信息就会失败。
主机给从机第一次发送消息后,不让从机响应。主机第二次发送信息时失败,此时从机只能接收第二次发送信息的第一个中断,然后就卡死。
代码是有Cube MX生成,调用标准库函数。
主机发送及接收使用polling方式,从机接收使用中断触发,从机发送使用Polling方式。
laocuo1142 发表于 2022-7-20 16:37 | 显示全部楼层
检查一下初始化设置
晚晚皆安 发表于 2022-7-24 09:57 | 显示全部楼层
是使用硬件的I2C方式通信的么?

漫过岁月 发表于 2022-7-24 10:19 | 显示全部楼层
你可以用仿真器跟踪调试一下,很容易能看得出来问题所在的

占得人间第一春 发表于 2022-7-24 10:41 | 显示全部楼层
是不是没触发中断啊?

可爱的白兔先生 发表于 2022-7-24 11:03 | 显示全部楼层
我觉得可能是你逻辑没理清晰,可以仿真跟踪看看

喜爱弄人 发表于 2022-7-24 11:24 | 显示全部楼层
你把代码贴出来看看呗,帮你分析分析

岁月反驳 发表于 2022-7-24 11:46 | 显示全部楼层
正常来说,cubemx只是配置底层,业务还是得要自己来写的

偷吻月亮 发表于 2022-7-24 12:07 | 显示全部楼层
你是不是协议没搞定啊

一枝香 发表于 2022-7-24 12:31 | 显示全部楼层
发送失败提示什么呢?是没触发通信么?

风吻过你的不羁 发表于 2022-7-24 12:53 | 显示全部楼层
感觉想时序没对上导致的呢?

热爱童话世界 发表于 2022-7-24 13:16 | 显示全部楼层
正常是不是可以用DMA的啊,试试DMA呢

您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部