完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我使用的是嵌入在1Bitsy Board中的STM32F415RGT6。我想设置I2C外设,以便从传感器读取一些数据。我正在使用stm32f4标准外设库。 我的示例代码:
之后我想写一个0x00,但代码总是挂在最后一行,显然Master永远不会读取确认。I2C状态寄存器始终读取: I2C1 - > SR1 = 1024 I2C1 - > SR2 = 3 这意味着始终设置确认失败位。如果我使用我的Saleae分析它,我会得到以下结果: |
|
相关推荐
6个回答
|
|
|
gpioInit.GPIO_PuPd = GPIO_PuPd_UP;应该是gpioInit.GPIO_PuPd = GPIO_OType_OD; 引体向上
|
|
|
|
|
|
如果7位从属地址是0xE0你需要将8位地址传递给API I2C_Send7bitAddress(I2C1, uint8_t(0xE0<<1), I2C_Direction_Transmitter);但我猜测它是0x70你已经转移它
|
|
|
|
|
|
|
|
|
|
|
|
感谢所有的建议。我找到了解决方案,这有点奇怪。它在两块板上都能正常工作,但在STM32F415上,它不能用于捕获数据的逻辑分析仪。在F407上没关系。它是一种heisenbug,如果我不看,它不会发生,但我不得不想知道它是否有效。
|
|
|
|
|
|
这可能意味着您的上拉电阻太弱。这是为什么使用示波器查看信号的特性很有用的部分,即使逻辑分析仪更好地解码协议(至少一旦你得到一个非常重要的数据量,挑战速度和用户界面的UI)典型的现代示波器内置I2C解码器)。
|
|
|
|
|
|
你的公司买了一个示波器,但没有***的许可证
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:09 , Processed in 0.831246 second(s), Total 54, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1094