硬汉嵌入式论坛

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

[I2C] [已解决]CMSIS Driver I2C工作不正常。

[复制链接]

5

主题

11

回帖

26

积分

新手上路

积分
26
发表于 2022-5-20 19:39:48 | 显示全部楼层 |阅读模式
本帖最后由 Jinsq 于 2022-5-27 08:50 编辑

STM32H750, 用keil配置了 CMSIS 工程,cubeMX里使能了I2C1,然后飞线接了ardunio 的一个eeprom模块。读EEPROM的代码直接使用的是CMSIS 网站上的代码,就改了eeprom的器件地址,然后把400K速度降到100K。MCU发送了器件地址,EEPROM也回了ack,之后MCU的I2C CLK就没回到高电平。程序里看就一直在灯I2C busy.使用H7 Tool观察了波形如下

I2C波形

I2C波形


工程如下 test_cmsis_i2c.7z (651.23 KB, 下载次数: 4)


能否帮忙看下问题,谢谢~~

---------------------------------------
问题已解决
1) 在STM32CubeMX里把I2C的中断打开。
2) 将生成的STM32H7xx_it.c的优化改为O0。不知道为啥,这个开了默认O1的优化,把I2C中断给优化掉了。




回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106833
QQ
发表于 2022-5-21 09:07:43 | 显示全部楼层
CMSIS Driver里面的I2C功能还没有专门研究过,这几天有时间我试试。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 19:59 , Processed in 0.198897 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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