【问题标题】:EK-TM4C1294XL uart speed supportEK-TM4C1294XL uart 速度支持
【发布时间】:2014-10-29 11:34:14
【问题描述】:

我正在作为电气工程 b.sc 的一部分开始一个项目

我尝试查找以下 Evolution 套件是否支持具有以下速度的 UART: 600、1200、3400、4800、9600、14400、19200、28800、38400、56000、57600、115200、128000、256000、460800、921600

该套件是: EK-TM4C1294XL link to product

我试图找出我是否可以使用这种速度的微芯片

谢谢大家

【问题讨论】:

  • 是的。以上所有以及介于两者之间的任何内容。
  • 在哪里可以验证?
  • 是否可以从列表中最多监听 2 个 uart 输入?
  • @user2027090 你可以通过阅读芯片(和电路板)的文档来验证这些事情,当然,除非你有硬件并且可以自己尝试一下。
  • @user2027090 修改后的答案如下。

标签: raspberry-pi uart microchip texas-instruments


【解决方案1】:

要对集成 UART 进行编程,您通常配置时钟分频器而不是特定的波特率。请参阅处理器页面 1165 上的 data sheet

“是否可以从列表中最多监听 2 个 uart 输入?”

8 个 UARTS 独立运行。是否可以在不溢出缓冲区的情况下处理接收到的数据,取决于您编写代码的流畅程度。您需要根据波特率和 CPU 指令执行时间进行一些数学运算。

【讨论】:

  • 但如果代码是平均的,则可以在 2 uart 以 460800 波特通过 pc 作为二进制传输(无解析)只是传输
  • interuppts 会不会覆盖他们自己,所以会丢失数据或规范不够?
  • 正如我所说,您需要自己评估。您打算编写 UART 处理代码还是使用提供的库函数?我不知道该处理器的中断细节,但通常在清除导致当前中断的 UART 的 IRQ 标志之前,您不得重新启用中断(通常通过读取 RXD 寄存器来完成)。您的处理时间还必须包括中断延迟,即推送 regs 并开始为您的代码提供服务的时间。
  • 如果您使用 1 个起始位、8 个数据位和 1 个停止位,您有 10 个位时间在另一个输入准备好之前为输入提供服务,否则会导致缓冲区溢出。您可能需要编写自己的处理程序,因为库例程通常效率低下。由于有 8 个 UART,您可能需要对寄存器地址进行硬编码,而不是使用单个通用库函数。使用该库助您一臂之力 - 逐步开发。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-14
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 1970-01-01
相关资源
最近更新 更多