完善资料让更多小伙伴认识你,还能领取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解码器)。
|
|
|
|
你的公司买了一个示波器,但没有***的许可证
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1470 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1405 浏览 3 评论
3150 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1543 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1975 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 09:47 , Processed in 0.838114 second(s), Total 84, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号