完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,使用STM8L051硬件I2C时,用示波器探头接触I2C任意端口后,两个端口始终保持高电平状态。其他LED控制端口依然正常。工作电压稍微高一点,3.8V。程序网上找到的,读SHT20没问题。求解决方法!!
源码如下:
|
|
相关推荐
1个回答
|
|
在使用STM8L051硬件I2C时,当用示波器探头接触I2C任意端口后,两个端口始终保持高电平状态,这可能是由以下几个原因导致的:
1. 示波器探头的输入阻抗较低:示波器探头的输入阻抗通常较低,这可能导致I2C总线上的电压降低,从而使得I2C端口保持高电平状态。为了解决这个问题,你可以尝试使用具有较高输入阻抗的示波器探头。 2. 示波器探头的接地问题:如果示波器探头的接地不良,可能会导致I2C总线上的电压不稳定,从而影响I2C端口的状态。请确保示波器探头的接地良好。 3. I2C总线上的拉高电阻:I2C总线上通常需要连接拉高电阻,以确保在没有设备驱动时,总线保持高电平状态。如果拉高电阻的阻值过大或损坏,可能会导致I2C端口保持高电平状态。请检查I2C总线上的拉高电阻是否正常。 4. 程序问题:虽然你提供的源码看起来没有问题,但仍然有可能存在其他部分的程序问题,导致I2C端口保持高电平状态。请仔细检查你的程序,确保I2C通信正常。 5. 硬件问题:如果以上方法都无法解决问题,可能是STM8L051硬件本身存在问题。你可以尝试更换一块STM8L051芯片,看是否能够解决问题。 6. 工作电压问题:你提到工作电压稍微高一点,为3.8V。虽然STM8L051的工作电压范围是2.4V至3.6V,但在某些情况下,稍微超出这个范围可能不会对芯片造成太大影响。然而,如果电压过高,可能会导致I2C端口保持高电平状态。请尝试将工作电压降低到推荐范围内,看是否能够解决问题。 总之,要解决这个问题,你需要从多个方面进行排查,包括示波器探头、I2C总线上的拉高电阻、程序以及硬件本身。希望以上建议对你有所帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1618 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1545 浏览 1 评论
979 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1597 浏览 2 评论
1864浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
645浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
516浏览 3评论
532浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
505浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 22:43 , Processed in 0.811534 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号