完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个 Aliexpress 模块,一侧标记为 BMP/BME280,另一侧标记为 GYBMEP。传感器上的孔位于一侧而不是拐角处。芯片 ID 报告 0x60(我在 Adafruit_BME280.cpp 文件中放置了一些 Serial.prints)。我必须将 Adafruit_BME280.h 文件中的 I2C 地址从 0x77 更改为 0x76。
我的代码: 代码:全选#include #include #define SEALEVELPRESSURE_HPA (1013.25) Adafruit_BME280 bme; float Pressure; float BMETemp, BMEAltitude; void setup() { Serial.begin(115200); boolean status = bme.begin(0x76); } void loop() { printValues(); } void printValues() { Serial.print("Temperature = "); Serial.print(bme.readTemperature()); Serial.println(" *C"); Serial.print("Pressure = "); Serial.print(bme.readPressure() / 100.0F); Serial.println(" hPa"); Serial.print("Approx. Altitude = "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m"); Serial.print("Humidity = "); Serial.print(bme.readHumidity()); Serial.println(" %"); Serial.println(); } printValues() 例程产生以下结果: Temperature = nan *C Pressure = nan hPa Approx. Altitude = nan m Humidity = nan % 当我运行 bme280test 示例时,我得到这个: ets Jan 8 2013,rst cause:2, boot mode:(3,6) load 0x4010f000, len 1384, room 16 tail 8 chksum 0x2d csum 0x2d v60000318 ~ld 此外,当我在开始例程的 Adafruit_BME280.cpp 文件中插入 Serial.prints 时,我得到 ChipID = 0xFF。如果我将它们放在 delay(100) 之前,我会得到 ChipID = 0x60(正确!)。 读取系数();// 读取微调参数,见 DS 4.2.2 setSampling(); // 使用默认 延迟(100); Serial.print("芯片ID="); Serial.println (read8(BME280_REGISTER_CHIPID)); 返回真; |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
968 浏览 1 评论
553浏览 6评论
462浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
418浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 22:14 , Processed in 0.777471 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号