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.

[参考译文] MSP432E401Y:是否使用外部中断从 I2C 触发 UDMA 传输?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/952710/msp432e401y-trigger-udma-transfer-from-i2c-with-external-interrupt

器件型号:MSP432E401Y
主题中讨论的其他器件:TMP117

我使用 MSP432E401从具有 I2C 接口的 TMP117温度传感器读取数据。  TMP117可在数据就绪时生成信号(警报)。  我需要将数据从 TMP117捕获到 MSP432的内部存储器中。  TMP117能够以比采样更快的速率生成数据、并且我不想让 CPU 加载来处理多个温度中断。  如果我可以配置 MSP432 UDMA、以便在每次发出警报时将数据从 TMP117传输到内部存储器、那将是很好的。  当外部 GPIO 被激活(边沿或电平敏感)时、是否可以设置 UDMA 来触发从 I2C 到内部存储器的传输而无需 CPU 干预?  如果是、您可以向我介绍一个演示此功能的 RTOS 示例吗?

谢谢、

Philip

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

    嗨、Philip、

    很抱歉、您是否能够找到在系统中启用此功能的方法?  我查看了 MSP432E4的现有 I2C 示例代码、该代码不基于 RTOS。  您可以在此处找到它:    

    还有一个相关的应用手册、其中讨论了 MSP432E401上的 I2C 主设备功能:    

    总之、如果我理解正确、E401好像是 I2C 主设备、但传感器从外部触发读取。  我认为这可能仅使用 DMA、但我认为您将面临一些挑战。  首先、您可以使用 GPIO 触发 DMA 传输、我认为您可以使用 GPIO 将数据从存储器传输到 I2C 并启动 TX。  您需要一个单独的 DMA 通道来处理 I2C 上接收到的数据。   

    通常此时、I2C 模块/DMA 会中断 CPU、让其知道数据已被读取、但听起来您不希望这样做。  您必须配置 DMA 以填充缓冲区、然后在填满后通知您。  我想您可以使用 DMA 的乒乓模式来实现这一点、但我不确定。   

    遗憾的是、这大约是我的 MSP432E4 DMA 专业技术的优势。   

    谢谢、

    JD

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

    JD、

    感谢您的回复、我将查看这些文档。

x 出现错误。请重试或与管理员联系。