打印
[应用相关]

STM32L4 I2C主从通信,第一次通信成功,第二次只检测一次中

[复制链接]
559|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 | 只看该作者
你可以用仿真器跟踪调试一下,很容易能看得出来问题所在的

使用特权

评论回复
5
占得人间第一春| | 2022-7-24 10:41 | 只看该作者
是不是没触发中断啊?

使用特权

评论回复
6
可爱的白兔先生| | 2022-7-24 11:03 | 只看该作者
我觉得可能是你逻辑没理清晰,可以仿真跟踪看看

使用特权

评论回复
7
喜爱弄人| | 2022-7-24 11:24 | 只看该作者
你把代码贴出来看看呗,帮你分析分析

使用特权

评论回复
8
岁月反驳| | 2022-7-24 11:46 | 只看该作者
正常来说,cubemx只是配置底层,业务还是得要自己来写的

使用特权

评论回复
9
偷吻月亮| | 2022-7-24 12:07 | 只看该作者
你是不是协议没搞定啊

使用特权

评论回复
10
一枝香| | 2022-7-24 12:31 | 只看该作者
发送失败提示什么呢?是没触发通信么?

使用特权

评论回复
11
风吻过你的不羁| | 2022-7-24 12:53 | 只看该作者
感觉想时序没对上导致的呢?

使用特权

评论回复
12
热爱童话世界| | 2022-7-24 13:16 | 只看该作者
正常是不是可以用DMA的啊,试试DMA呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

20

帖子

0

粉丝