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/TM4C123GH6PM:MPU6050Callback 状态机- IDLE 状态

Guru**** 2487425 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/736919/ccs-tm4c123gh6pm-mpu6050callback-state-machine---idle-state

器件型号:TM4C123GH6PM

工具/软件:Code Composer Studio

您好!  

我正在尝试从 sensorlib 分析 mpu6050.c 中的 MPU6050Callback 代码。

代码中的状态机巧妙地编写了一条"案例"语句、描述了每个状态中发生的情况。

"case"语句仅描述了一个状态:MPU6050_State_Idle

为什么空闲情况是例外情况?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    空闲状态将导致代码执行"default:"情况、这与"MPU6050_State_Read"情况相同。 由于在这种情况下、变量 ui8State 被设置为"MPU6050_State_idle"、因此没有任何变化。

    我担心为什么您关注 mpu6050.C 中使用的静态回调函数 您是否为 mpu6050编写自己的支持库函数、而不是使用 mpu6050.c 中的函数? 您是否在 TivaWare 传感器库用户指南的第15.3节中看到过示例(www.ti.com/.../spmu371d.pdf 在此示例中、使用了一个非常简单的用户回调函数、该函数仅在 MPU6050完成请求的任务后设置一个易失性变量。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我担心为什么您关注 mpu6050.C 中使用的静态回调函数 您是否为 mpu6050编写自己的支持库函数、而不是使用 mpu6050.c 中的函数?  


    不客气。

    我正在探索 mpu6050.c 中的静态 MPU6050Callback 的  工作原理 、因为我只想复制它、将其重命名为"USER_MPU6050Callback"而不做任何进一步更改、并将其用作我的回调函数...

    原始 MPU6050Callback 具有功能齐全的状态机、而示例中的状态机不……

    1.是否有充分的理由我应该用示例中的示例而不是原来的示例?

    2.如果有-原来 的 MPU6050Callback 在哪里查看“无论如何使用”?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有人能不能对此有所了解?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定我是否能说明这一点,因为我不确定你要做什么。 当 TM4C 使用 I2C 命令读取和写入 MPU6050时、文件 mpu6050.c 中的例程使用静态回调函数从状态转换为状态。 用户回调例程是一个可选函数、用于指示先前操作的状态或执行错误例程。 如果不需要回调、只需使用 NULL 指针。 在我看来、这两者完全不同。 您希望在用户回调例程中完成什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢。
    这清楚地表明了这一点。

    我没有注意到在函数(MPU6050Init、MPU6050Read、MPU6050Write 等)内使用"MPU6050Callback"。
    我的印象是、它作为一个参数传递给了这些函数-事实并非如此。