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.

[参考译文] CCS/EK-TM4C123GXL:MPU6050与 TM4c123ghpm

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/686679/ccs-ek-tm4c123gxl-mpu6050-with-tm4c123gh6pm

器件型号:EK-TM4C123GXL

工具/软件:Code Composer Studio

大家好、

我一直在尝试在 Tiva c launchpad 上实现 MPU6050示例代码、但收到的读数是一些常量的垃圾值。 当代码检测到传感器形成指定地址(68)时,连接是适当的。

请检查代码文件并建议是否有。

/cfs-file/__key/communityserver-discussions-components-files/908/MPU6050.cpp

谢谢你  

此致、

Nanda Kishore

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

    在进行以下投资之前:"时间、努力" 改为"检查代码文件并提出建议"-是否不适合"您建议在 SDA/SCL 上存在(外部)上拉电阻器-… 理想情况下-示波器电容器的表示。"

    这些示波器电容器在以下情况下证明是最佳的:它们揭示了传感器的成功检测(通过地址(0x68))... 以及"垃圾值"的捕获。   这样便可实现经典 的'A-B' 测试比较-这通常可实现高效诊断。   务必提供叙述-描述要发送到传感器的值-以及返回的值。  (您将其称为"垃圾"。)

    您的意思不清楚、"恒定垃圾值"-这是否意味着所有此类(垃圾)值都"不变?"   (因此恒定)

    您如何得出这些值为"垃圾"的结论?    您的测试条件和期望是什么-选择这些条件和期望的方式是什么?

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

    您好!

    首先、我没有使用示波器来测试硬件、但在使用 Arduino 实现而没有上拉电阻器时、mpu6050已证明工作正常。 我收到的读数不变。  

    很抱歉,您提到了垃圾值。 先前的实验显示了一些不同的值、但现在读数都为零

    即该代码

         UARTprintf ("a %02d %02d %02d\n"、fGyro[0]、fGyro[1]、fGyro[2]);

         UARTprintf ("G %d %02d %02d\n"、fAccel[0]、fAccel[1]、fAccel[2]);

    我得到的读数是

    谢谢你

    对此,

    Nanda Kishore

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

    [引用用户="Nanda Kishore Moduga"]mpu6050在没有上拉电阻器的情况下使用 Arduino 实现时证明是有效的。

    对于"拒绝(必要)使用上拉电阻器"、您展示的是一个很弱的案例。    您提出了-"一个过去的观察结果-在完全不同的电路板上实现的-我怀疑其中有一个-确实包括上拉电阻器。   (根据我们的经验、大多数 Arduino 板在其 I2C 线路上采用上拉 Rs)

    因此-由于上拉电阻器被拒绝、并且没有示波器迹线、您(公平地)是否可以期望这些电阻器代表您投入大量时间和精力?

    (事实)您(现在已解释)的"垃圾值"-在地面/附近注册- 甚至进一步争辩- 使用 外部上拉电阻器!

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

    感谢您的回复。
    不过、即使在包含4.7K 欧姆的外部上拉电阻器后、我也会发现相同的读数(零)。

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

    这证明了两个电阻器的极速实施!   您在哪里连接了这些电阻器-它们"是如何"上拉的?"

    您如何为传感器板供电?    和... 您的 MCU 板和传感器板之间是否存在"已检查并已重新检查"的绝对可靠的"公共接地"?   真的吗?

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

    我同意 CB1、我们仍然需要看到 SDA 和 SCL 线路的示波器捕获、以帮助调试这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,CB1,Ralph,

    感谢您的快速回复。

    但是,我们目前不能确定范围。

    我已通过5V 将4.7K 欧姆电阻器分别连接到 SCL 和 SDA。 传感器板由 MCU 的5V 和 GND 供电。
    SCL-- PB2
    SDA-PB3
    我确信它们之间的公共接地是非常稳定的。

    我已经尽力实现了。 但不确定我是否在代码中犯了任何错误。 如果有的话,请提出建议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感受您的痛苦-但您不能通过 组织和演示以下内容来"减少对您的破裂"助手 Crüe "的要求:

    • 传感器手册关键页面的链接-以便(我本人/供应商的 Ralph/Others)可以(更好)了解(即有点理解)您的传感器(真实)要求。   为您提供(仅限于)整个规格-强制每个帮助者滚动浏览手册-浪费大量时间-这可能更有效地指导您!
    • 在"按职能分类"的基础上、简要描述您的(代码顺序)"打算实现的目标"。   事实上、如果您不提供重要的指导、这会增加(您的)工作量、但请考虑到每位帮助者都"注定"要重复这一努力
    • 如果您在尝试恢复"所需数据"的过程中描述"您如何选择值"(发送给传感器)、这是最好的证明。   (即、此类传感器通常是"基于寄存器"的-且寄存器唯一包含特殊数据-需要其正确的"寻址"(有时甚至是设置)以"提取该(特定)寄存器的传感器数据"。)
    • 在尝试(某些)服务时、最好考虑帮助者、甚至那些不知名/不露面的外人、他们花费大量的时间/精力...

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

    这是来自 Tivaware 的 MPU650.cpp 吗? MPU650-c 和 MPU650.h 位于"C:\ti\TivaWare_C_Series-2.1.3.156\sensorlib"。

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

    [引用 USER="Markel Robregado]Tivaware 是否提供 MPU650.cpp? [/报价]

    海报的主题栏他的开场白正文清楚地注明 "MPU6050"。

    您的建议是“超出了拼写错误”... 你知道什么吗——我们其他人——不知道吗?

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

    他使用的文件是下载链接中的 MPU6050.cpp。 但是、我在 Tivaware 中找不到 MPU650.cpp。 在 Tivaware sensorlib 文件夹中有 mpu6050.c 和 mpu6050.h。 我比较了他使用的 MPU650.cpp 和 Tivware 的 mpu620.c、它们是不同的。

    因此、我认为使用 Tivaware 中的 mpu650-c 和 mpu650.h 可以与 Tiva Launchpad 配合使用。 因为在发布 Tivaware 之前、TI 很可能已经测试了代码库。

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

    尊敬的 Markel:

    我上传的文件包含 mpu6050的 c 代码、 在实施时我将其用作".c" 、但很遗憾、我 仅在编辑器中将其保存为".cppp"、对此我深表抱歉。

    正如您提到的、sensorlib 文件夹中的 mpu6050.c 和 mpu6050.h 完全不同:是的、与 sensorlib 中下载的链接(MPU6050.cpp)和 mpu6050.c 中的代码完全不同、因为上传的代码是要实现(调试)的主代码、而 sensorlib 文件夹中的 mpu6050.c 是支持库。

    谢谢你  

    此致、

    Nanda Kishore

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

    这对于(大多数帮助者)来说太"特定"了。   非常感谢海报 Markel 的澄清-感谢。

    我必须再次要求该海报(部分)努力遵守 5月5日(3:08/15:28)发布期间的要求。

    减去该值、再加上没有示波器电容器、对"helper crüe "的要求显得过于苛刻!    (认真 地说-我们是否要:搜索、查找、寻呼和(然后)分析... 真的吗?)

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

    您好 CB1_、

    很抱歉我的答复很晚。

    有关传感器 MPU6050的信息、请检查随附的文件。 

    e2e.ti.com/.../MPU_2D00_6000_2D00_Register_2D00_Map1.pdf



    我使用的代码:(由于某些未知问题,我无法直接粘贴代码,请在下面的文件中找到代码。)

    e2e.ti.com/.../MPU6050.txt

    如果需要任何更改、请提出建议。

    谢谢你

    此致、  

    Nanda Kishore

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

    在将器件连接到 I2C 和 SPI 时、很难在不查看线路通信的情况下判断出错误。 当我们能够实际看到正在传输和/或接收的内容时、大多数这些问题通常很快就能解决。

    sensorlib 提供的 mpu6050文件应正确处理传感器、但如果存在问题、我们需要查看示波器捕获、以便能够正确地帮助解决这些问题。 不幸的是、盲人工作对我们(TI 和我们知识渊博的社区成员)和您都没有好处、因此我必须坚持您可以找到示波器或获取逻辑状态分析器、以便为我们提供一些捕获。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Nanda、您好!

    您是否已解决此问题或至少已访问示波器、以便为我们提供有关 I2C 线路通信的反馈?