STM32F411CE调试I2C遇到的问题
来源:互联网 发布:靠听记英语单词的软件 编辑:程序博客网 时间:2024/05/03 12:43
本次调试是调试STM32F411CE与BMP280通信,首先根据ST提供的参考例程对I2C进行配置,然后给BMP280发数据,没想到这一调就是两天。。。
对此,总结思路:
1.当通信失败,而且不知道问题在哪,首先确认I2C能通信。
(1)确认I2C总线是否有波形输出,方法:用一个循环不断的对外发送数据,注意因为只发送一次可能导致抓不到波形。
(2)如果没有波形输出,查看GPIO的配置是否正确,比如GPIO的时钟有没使能,I2C时钟有没使能,还有特别要注意I2C的GPIO选择的alternate function的配置。
(3)如果GPIO脚的配置都没有问题,那么看一下GPIO的硬件功能是否有问题。
查看GPIO脚的硬件功能方法:把GPIO使能,对其进行拉高拉低,给个延时让其输出方波,并用示波器查看,如果有波形输出,说明GPIO的硬件功能基本上没什么问题了。
(4)GPIO脚的功能也没问题,那就只能看代码了,再检查一遍GPIO脚的配置吧,请上天保佑你看到你配错了,如果没配错那就跟一下代码看下I2C controler的寄存器根据datasheet确认一下是否正确配置了,加些打印判断一下代码卡在哪了是什么问题。。。上天保佑I2C总线能出波形吧。
(5)如果I2C总线用示波器看到有波形了,如果还是不能和slave通信,那检查一下slave的地址是否正确。
(6)如果slave地址也没问题,那看一下slave有没RESET脚,需要复位使能吗。。。如果根据datasheet复位使能还不行,那就是你的slave可能是坏的。
给所有的小白们,希望孩子们都好好学习,出来混总是要还的,我还是得快点还。。。白读了四年大学,连个I2C都不会整。
- STM32F411CE调试I2C遇到的问题
- 调试I2C遇到的一些问题
- 调试遇到的问题
- VC调试遇到的问题
- VC调试遇到的问题
- 调试acf 遇到的问题
- 代码调试遇到的问题
- TP调试遇到的问题
- 调试stvd遇到的问题
- c#调试遇到的问题
- vs2008调试遇到的问题
- 手机调试遇到的问题
- 遇到调试器不能调试的问题
- DM355的I2C调试
- i2c的调试
- 调试gpio模拟i2c的TP中碰到的问题
- STM32F1系列 调试硬件I2C应注意的问题
- JavaScript调试中遇到的两个问题
- activity介绍和值的传递(寒假学习2)
- css3的rgba透明
- coreboot学习5:启动流程跟踪之ramstage阶段主干分析
- python邮件发送带附件
- Android 中DialogFragment全屏实现
- STM32F411CE调试I2C遇到的问题
- Data Binding 用户指南(Android)
- evaluate-reverse-polish-notation
- Uva208——Firetruck
- 定制Android之4G-LTE模块驱动
- 项目中的问题与解决方案
- main函数的两个参数
- 网络性能评价的实现
- JAVA中的反射机制