硬汉嵌入式论坛

 找回密码
 立即注册
查看: 144|回复: 2
收起左侧

[技术讨论] STM32g031G8从机IIC SMBUS从模式 求助

[复制链接]

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2025-6-18 11:04:16 | 显示全部楼层 |阅读模式
本帖最后由 wonder 于 2025-6-18 11:17 编辑

开发环境:keil V5   stm32g031g8  HAL库
现象:配置STM32开启从机SMBUS唤醒,STM32进入停止模式后,主机发送IIC数据唤醒从机后,IIC通讯乱码。同时我注意到只有开启看门狗后,通过IIC唤醒就会出现这个问题,其他外部中断唤醒不会有这个问题,并且如果不开看门狗,通过iic唤醒也不会有这个问题
代码说明:单片机60s超时进入低功耗停止模式1,开启了两个IO口外部下降沿中断和IIC的SMBUS地址匹配唤醒单片机,中断唤醒后立即通过HAL_NVIC_SystemReset()此句复位单片机
尝试过的方法:1.唤醒后不复位,通过重新初始化时钟,初始化外设,进入低功耗后,iic唤醒问题依旧存在



异常通讯.png
异常通讯放大.png
正常通讯.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116742
QQ
发表于 2025-6-18 14:56:37 | 显示全部楼层
1、优先看下勘误手册,看看是不是硬件bug
2、唤醒后,有没有测试过先复位初始化I2C,也就DeInit那个函数,然后重新Init
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2025-6-21 16:03:14 | 显示全部楼层
感谢回复,我目前应该是解决了,但是我还是不太理解是什么原因导致的。解决方法就是在初始化的时候开启IIIC的侦听中断,这句话要放在初始化看门狗的前面。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-7-4 14:27 , Processed in 0.354268 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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