This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430G2553:与 BME680 Bosch 传感器的 I2C 接口

Guru**** 2562040 points
Other Parts Discussed in Thread: MSP430G2553

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/724480/msp430g2553-i2c-interface-with-bme680-bosch-sensor

器件型号:MSP430G2553

大家好、

            我使用 BME680 Bosch 传感器 通过 I2C 协议与 MSP430G2553控制器连接。  我没有得到正确的结果。问题是什么? 我已经尝试过很多次了、而且也提供了在线代码、但很遗憾无法获得准确的结果。

我在 Putty 上得到的结果表明、该传感器在-1.086C 中为我提供了室温读数。

如果有人能尽快回复我、我会很高兴。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    如果问题是由于传感器提供错误的输出或 I2C 通信不能正常工作(即协议错误或常规 I2C 配置问题)、您是否可以通过任何方式进行调试?
    您给出了您收到的结果的示例。 预期值是多少?
    此外、您是否对可能出错的传感器结果进行任何转换?

    请分享更多详细信息、以便我们找出您问题的根源。

    谢谢、此致、
    Britta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

          我从传感器获得错误结果、比如我的实验室温度为26C、它提供3.89C、同样、我将环境湿度值设为97.66%、这完全是错误的结果。 环境湿度应约为50%至60%。 我在 Hercules 接口上获得这些错误结果。

    我对同一串联传感器 bme280使用了相同的 I2C 通信、但运行正常。现在对于 BME680、我不知道它为什么不工作。

    我需要有关这一问题的紧急帮助,如果 你能 提出一些建议,我将不胜感激。  

    此致、

    Ali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    I2C 在工作。
    您如何将软件从 bme280转换为 BME680?
    一定会有问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ali、

    请您解释一下您的意思:

    [引用 USER="Syed Muhammad Ali"]我在 Hercules 接口上得到了这些错误的结果。

    另外、根据 Tomasz 的评论、请查看 bme280和 BME680之间的差异:您在设置应用程序时是否考虑了这些差异?  

    此致、

    Britta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好!

                我在从 bme280转换到 BME680时更改了寄存器地址。

                实际上、我现在已从 BME680获得正确的环境温度结果、但湿度区域中的问题仍然存在。

               我得到的是室温环境湿度的结果、例如56%、有时为0%、有时为-1.233%、有时甚至是100%、这完全是错误的结果。

    此致、

    Ali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您读取了正确的温度测量值、但您没有提到过这一点、则您会执行一些操作。

    两个 BME 都是不同的器件。
    BME680的新功能是空气质量测量。
    mbe680具有与 mbe280不同的 I2C 事务格式。
    您需要更改您的软件。
    您是否使用 BME680库或 bme280?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正在使用 code composer 对此进行编程。 否、我没有使用任何 bme280库。
    补偿参数可能存在问题、但我尝试使用一些在线编码、但没有什么方法可以正确测量湿度。 我在下面的代码中进行了更正、用 t32/10而不是 t32/100来测量正确的温度。 在测量正确的温度之前、我获得了0.26、0.27、0.29等值、但它们是按顺序排列的。
    UART_Write_Float ((float) tempcompensation (t32)/10、2);
    但是、湿度测量不再像我得到0%、100%、然后得到28%、然后得到-1.23%那样、这毫无意义。

    此致、
    Ali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据 BME680规范检查来自 I2C 的原始日期。
    如果原始数据没有波动、则很可能是软件中存在错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Syed、

    您是否有机会检查 Tomasz 的指示?

    此致、
    Britta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Syed、

    请注意、由于不活动、我将关闭此主题。
    如果您需要进一步的帮助、您也可以通过回复来重新打开它。

    此致、
    Britta