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.

[参考译文] TM4C123GH6PM:如何通过 UART 将8个 ADC 引脚的数据发送到另一个 Tiva C 系列 MCU

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/670806/tm4c123gh6pm-how-to-send-data-of-8-adc-pins-to-another-tiva-c-series-mcu-via-uart

器件型号:TM4C123GH6PM
主题中讨论的其他器件:TM4C123

大家好、

我正在使用 TM4C123 Launchpad 和另一个 Tiva C 系列 MCU TM4C129。 我想通过 UART 将8个模拟输入的 ADC 数据从 Launchpad 发送到 TM4C129 MCU。

现在、ADC 数据为12位、通过 UART、我们一次最多可以发送8位。 因此,我首先将12位数据转换为16位数据,然后以8位的两个数据包发送数据。

在接收端、我将其转换回16位并使用数据、这样我就不会丢失数据。

但是,通过这种方式,我只能发送最多4个 ADC 引脚的数据。 如何发送剩余的4 个 ADC 引脚数据。

我的限制是我无法使用另一个 UART 端口。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    为什么不能发送超过4个值?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Sumit Mourya"]但是 ,通过这种方式,我只能发送最多4个 ADC 引脚的数据[/引用]

    您的关键请求-不幸的是-仅以 "这样!"的方式显示最需要的关键数据    这是否与" 不起作用?"(总是有帮助的)不太相似?

    详细的信息-描述了" 通过这种方式"的含义。    减去这种清晰程度-您的帮助者是 "留待猜"。

    猜测-连同纠正措施

    • 您的 UART 引脚可能会"重叠/共享"您选择的 ADC 引脚。   许多 UART 数据与"仅2个引脚"进行交换。   (UART_RX 和 TX)  调制解调器适应可能会扩展此"引脚负载"。   一种"杂乱"的权变措施会发现您采用了"数据选择器或多路复用器" IC、这样您就可以 选择性地将模拟信号与(共享) ADC/UART 引脚"隔离"。   此外、您还需要添加软件、以"在"ADC 和 UART"模式之间切换这些引脚。   这会降低信号"吞吐量"、但可以做到、尽管"凌乱"。
    • TM4C123提供具有 ADC 功能的多个引脚。   您是否已经完全/正确地分析了 MCU 的引脚组合、以便可以"释放"额外的 ADC 引脚、这一点尚不清楚。   不要求所有引脚都进入其"交替"ADC 模式-来自同一 MCU 端口!
    • 大部分策略(如上所述)会溢出到您的"UART 端口"选择中。   在第二次(甚至第三次引脚审查)时、最常设计出"更好的实施"。
    • 如果-即使在经过密集的"MCU 引脚调查/审查"之后-没有发现更好的引脚选择-您也可以使用前面提到的"数据选择器或多路复用器"来扩展您的 UART 功能-从"一个通道"扩展到"多个通道"。   (需要使用软件和 GPIO 正确地"通知/指导"选择器和多路复用器芯片。)
    • 存在"端口扩展器/扩展器芯片- I2C 和 SPI -可添加8个或16个 GPIO -但代价是(仅) 3-4个 MCU GPIO。   选择一个端口-否则专用于 GPIO -并且包含 UART -似乎符合您的目标。
    • 和-如果"所有其他故障"-可使用外部 ADC 芯片。   (通常通过 I2C/SPI 传输数据。)

    通常情况   下、最好先"收集"(&锁定)最复杂的 MCU 功能(例如 ADC)、然后按优先级顺序依次选择"高优先级"信号需求。

    通过、 "这些(描述)方式"中的一种或多种方式、您可能能够实现自己的目标...