stm32F103 模拟I2C mpu6050收到数据全为0,或者地址为209,104,0x68,0xD0的一些解决办法总结
来源:互联网 发布:2016年11月网络热搜 编辑:程序博客网 时间:2024/04/25 22:03
stm32F103 模拟I2C mpu6050收到数据全为0,或者地址为209,104,0x68,0xD0的一些解决办法总结:
- 最近在学习模拟I2C,硬件有两套stm32F103C8T6和stm32F103RBT6,网上买的mpu6050套件。用stm32F103RBT6正常读到数据,可是换stm32F103C8T6读到的全是0,读who am I 按道理应该是104 (0x68)。但是读到的有时候 全为0 甚至209,或者255等等。
解决办法
- 1 首先看能否读到who am i 读不到或者读的不正确就,对mpu6050进行一下复位:
IICwriteBit(devAddr,MPU6050_RA_PWR_MGMT_1,7,1); delay_ms(30); IICwriteBit(devAddr,MPU6050_RA_PWR_MGMT_1,7,0);
2 狗日的甚至我用不同的线缆读的却都不一样。更不说不同的板子了。不能的板子在keil编译的时候最好选择相应的配置。
3 读不到who am i 也有可能是挂了一个以上的I2C设备,于是我就手工割掉了一个。
4 顺便说个问题 在I2C的时候 PB67 成功了PB56成功了,但是PB45 却一直有问题,最后多亏一位大神相助,STM32的PB3、PB4,分别是JTAG的JTDO和NJTRST引脚,在没关闭JTAG功能之前,在程序中是配置不了这些引脚的功能的。要配置这些引脚,首先要开启AFIO时钟,然后在AFIO的设置中,释放这些引脚。具体看STM32的参考手册中有关AFIO的部分。 选自:http://www.stmcu.org/module/forum/thread-307696-1-1.html
下图为读错的情况:
第一波也读对了,但是数据全为0,这个做了几次试验,应该是上电复位的时候接触不好,导致初始化的时候 还是没有完美。
后面这张为改正来后的测试数据
附上程序源码:
http://download.csdn.net/detail/jasondooc/9159447
最后本人菜鸟,正在学习中,有问题还请多多交流指正 helloxidian@126.com,如有侵权立即删除。
0 0
- stm32F103 模拟I2C mpu6050收到数据全为0,或者地址为209,104,0x68,0xD0的一些解决办法总结
- VS2008 格式化时候乱码 或者 为全为0
- 客户端收到一个窗口为 0 的包怎么处理
- STM32F103下模拟I2C的接口代码
- STM32f103 I2C模拟
- [iOS] identifierForVendor和advertisingIdentifier为全0或者每次重启应用会变的bug
- [iOS] identifierForVendor和advertisingIdentifier为全0或者每次重启应用会变的bug
- 设置整数的某一位为1或者为0
- MPU6050的一些问题及解决办法
- 基于 STM32 的硬件 I2C 读取 MPU6050 数据
- STM32 IO口模拟I2C+驱动MPU6050
- linux下IO口模拟I2C的一些总结
- [Nginx]ngx_http_top_header_filter地址为0
- mybatis返回对象为null或者0的问题
- 浮点数判断为0或者相等
- stm32F103模拟I2C读写24c02
- stm32F103模拟I2C读写24c02
- stm32F103模拟I2C读写24c02
- 大整数加法
- Android Studio 之路1
- 程序在内存中占的四个区域
- Matlab-GUI 这个例子包含了几乎所有的matlab按钮
- linux 环境变量归类和配置
- stm32F103 模拟I2C mpu6050收到数据全为0,或者地址为209,104,0x68,0xD0的一些解决办法总结
- linux mknod命令解析
- JavaBean的编译和部署说明
- 【Python】Learn Python the hard way, ex4 使用变量
- 利用MSSQL复制功能实现与Oracle数据库同步
- ns-2与TCP拥塞模拟 之六 ns-2 TCP拥塞控制核心模块-变量说明
- Unix编程学习笔记---文件系统与 i节点
- NSTimer定时器的简单用法/NSTimer Instance
- 由scroll view引发的一系列小零碎