天天向上/tp 发表于 2013-6-4 15:52:08

新手请教怎么同时读2个BMP085的值

2个地址是一样的~~I2C连接

histamine 发表于 2013-6-4 16:47:43

一个使用硬件i2c读取 另一个使用gpio模拟i2c读取就行了嘛:)

天天向上/tp 发表于 2013-6-4 17:35:40

histamine 发表于 2013-6-4 16:47 static/image/common/back.gif
一个使用硬件i2c读取 另一个使用gpio模拟i2c读取就行了嘛

你好~请问ARDUINO有没gpio模拟i2c得参考程序??

histamine 发表于 2013-6-4 19:28:37

天天向上/tp 发表于 2013-6-4 17:35 static/image/common/back.gif
你好~请问ARDUINO有没gpio模拟i2c得参考程序??

http://code.google.com/p/blinkm-projects/source/browse/trunk/blinkm_examples/arduino/BlinkMSoftI2CDemo/SoftI2CMaster.h
http://code.google.com/p/blinkm-projects/source/browse/trunk/blinkm_examples/arduino/BlinkMSoftI2CDemo/SoftI2CMaster.cpp

hymeeg 发表于 2013-6-5 10:26:01

努力赚分ing....

天天向上/tp 发表于 2013-6-5 22:23:53

求高手解答~~还是想用一个I2C。控制EOC使能

林定祥 发表于 2013-6-6 14:17:38

数据端加个电子开关吧!

histamine 发表于 2013-6-6 14:34:00

本帖最后由 histamine 于 2013-6-6 14:35 编辑

https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-DS000-05.pdf
仔细阅读datasheet,挂多个bmp085在同一个i2c总线上是可行的

Page 15:


Page 16:

林定祥 发表于 2013-6-6 14:38:47

突发奇想,可以试一下,将两个BMP085的四条线的三条线一一连在一起,将两个芯片的电源和端口相连,由端口向BMP085供电,开通端口也就向芯片供电依次作片选.BMP085电流很小,峰值只有1ma,端口驱动应该够了.问题是BMP085是3.3v供电,单片机最好也是3.3供电,其次端口供电后最好加上电源后加上延迟再和BMP085通讯,这样可以避免不稳定,三初始化程序需要进入loop.

天天向上/tp 发表于 2013-6-6 16:15:14

histamine 发表于 2013-6-6 14:34 static/image/common/back.gif
https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-DS000-05.pdf
仔细阅读datasheet,挂 ...

这一段我看过,使能一个的话,读出来的输出时1900000多,是错的。不知道什么原因

histamine 发表于 2013-6-6 17:05:03

天天向上/tp 发表于 2013-6-6 16:15 static/image/common/back.gif
这一段我看过,使能一个的话,读出来的输出时1900000多,是错的。不知道什么原因

XCLR引脚不是使能,而是reset;P

林定祥 发表于 2013-6-6 17:17:13

天天向上/tp 发表于 2013-6-6 16:15 static/image/common/back.gif
这一段我看过,使能一个的话,读出来的输出时1900000多,是错的。不知道什么原因

xclr作用是复位,是否在loop中需要对其初始化,而且还用给点时间,调一下程序试一下.

天天向上/tp 发表于 2013-6-6 21:52:24

histamine 发表于 2013-6-6 17:05 static/image/common/back.gif
XCLR引脚不是使能,而是reset

你好!接一个BMP085的时候我给XCLR低电平,气压计不工作,接高电平,气压计工作正常!
当我接2个BMP085的时候,一个接低电平,一个接高电平,读出的数据时1900000多,是错误的!!
我想不是不接低电平的气压计占用了SCL,时钟线没释放出来。接高电平的气压计没办法用时钟·

天天向上/tp 发表于 2013-6-6 21:53:04

林定祥 发表于 2013-6-6 17:17 static/image/common/back.gif
xclr作用是复位,是否在loop中需要对其初始化,而且还用给点时间,调一下程序试一下.

你好!接一个BMP085的时候我给XCLR低电平,气压计不工作,接高电平,气压计工作正常!
当我接2个BMP085的时候,一个接低电平,一个接高电平,读出的数据时1900000多,是错误的!!
我想不是不接低电平的气压计占用了SCL,时钟线没释放出来。接高电平的气压计没办法用时钟·

林定祥 发表于 2013-6-7 07:01:55

i2C总共2条线,能有读到数据,但有时有错说明总线有不稳定性,可以拿掉一个试一试,判断一下时钟线问题还是数据线问题,对有问题采用外加电阻拉高或拉低也许会奏效。
页: [1] 2
查看完整版本: 新手请教怎么同时读2个BMP085的值