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:Stellaris Launchpad (LM4F120H5QR/TM4C123GXL)在读取 CCSv6中的寄存器时出现问题

Guru**** 2609925 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/762986/ccs-ek-tm4c123gxl-stellaris-launchpad-lm4f120h5qr-tm4c123gxl-having-issues-with-reading-registers-in-ccsv6

器件型号:EK-TM4C123GXL
主题中讨论的其他器件:TM4C123

工具/软件:Code Composer Studio

大家好、

我知道 LM4F120H5QR 可能是较旧的器件、但它已被较新的 TM4C123GXL 取代、但我有两个 LaunchPad、很遗憾、在过去的5年左右、我没有触摸它们、直到现在、我对它的功能感到惊讶。

因此、我尝试通过 I2C 连接几个器件、并遇到一些问题。 首先,我已经阅读了部件的文档并参考了本站点(顺便说一下,这是一个很好的站点): shukra.cedt.iisc.ernet.in/edwiki/EmSys:I2C_Programming_in_TI_ARM_Tiva。

由于许多器件都编写了 Arduino API、我想、为什么不编写一个包含"线"功能的小型库呢? (附 文:e2e.ti.com/.../wire.zip )正在进行中的工作。 我本来可以使用 platformio 软件套件、但在我看来 CCS 更干净、并且有一个免费的调试器、这是一件好事。

但是、我在调试器中遇到了一些问题、因为我无法看到某些寄存器的值、例如 I2C_MDR (通过 ROM_I2CMasterDataPut (I2C1_MASTER_BASE、buff [0]))。 查看我尝试在 One Master 配置中发送的数据非常重要。

如果有用、我可以上传我尝试连接的传感器的项目(MPL3115A2)。 请告诉我所需的任何详细信息。

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

    读取 I2CMDR 寄存器将返回来自读取缓冲区的数据、而不是写入 I2C 模块的数据。 由于从机未执行读操作、因此如果执行读 MDR 寄存器、复位值0x0将出现。

    如果您有逻辑分析仪或示波器、我很确定在调用 ROM_I2CMasterDataPut (I2C1_MASTER_BASE、buff [0])之后、您将在 I2C SDA 总线上看到存储在 buf[0]中的值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Charles 的快速回复。 存储主设备要发送到从设备的数据的寄存器是什么?
    我有一个示波器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Costin、
    我知道、如果您能够直观地观察写入调试器中 MDR 寄存器的值、这将有助于调试。 不幸的是,今天情况并非如此。 如前所述、调试器只是读取缓冲区而不是写入的寄存器。 您可能会将此称为缺陷、我也会同意您的意见。 如果您看一下 TivaWare I2C 示例、它会将要通过 UART 写入 MDR 的内容输出到终端控制台。 我知道这不能提供与实际写入 MDR 寄存器内容相同的调试含义。

    BTW、如果您使用的是 LM4F 器件、我将需要建议您移至 TM4C123平台、因为 LM4器件是新设计中不受支持的器件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Charles。

    我明白你的观点。 不过、还有一件事、请给我一个链接或说明、其中包含 TivaWare I2C 示例。

    谢谢你

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

    谢谢 Charles。

    Costin