工具/软件:
您好:
参考: mcu_plus_sdk_am64x_10_01_00_32
所有 UART 驱动程序示例都将接收缓冲区大小设置为 8 个计数。
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.
工具/软件:
您好:
参考: mcu_plus_sdk_am64x_10_01_00_32
所有 UART 驱动程序示例都将接收缓冲区大小设置为 8 个计数。
您好、
在这种情况下、我希望您将其视为单个字符输入、但在 while 循环中。
例如、一次输入一个字符、直到您按下转义序列、然后不再发生 UART 写入。
例如、伪代码如下所示:
inputChar = take input();
while (inputChar!=“/")“){
//继续在此循环中逐个输入
}
请告诉我以上内容是否对您很好?
注意: 您可以将宏 APP_UART_RECEIVE_BUFSIZE 的值更改为任何超过 8 的值、它应该是没问题的、它本身没有硬编码。
谢谢、
Vaibhav
问题 集中在 UART 事务 (TRANS) 周围、计数设置为:
编号 在我的应用中、我将使用 TeraTerm 接口通过调用此 UART 事务将文件发送到 TMDS64EVM。 接收到保存在缓冲区中的文件后、缓冲区的内容将保存在 I2C EEPROM 中。 下面是我之前描述的问题: trans.count = file_byte_count
如果我设置文件字节计数与文件大小完全相同、那么从 UART Rx 事务接收字节也没有问题。 如果我设置了欠计数、则我收到的文件将很短。 如果我设置超额计数,那么我必须发送额外的假字符来弥补差异(超额计数-文件大小),我试图避免. 当然、我的文件大小并不总是相同、因此我很难采用一种传输方法。
我了解您关于文件是否保存在 NOR/NAND 中的问题。 由于到 NOR/NAND 的文件传输每个事务都是固定的(即 256KB/页)、因此非常简单。 因此、文件的内容不会保存在 I2C EEPROM 中
来自 TMDS64EVM 的 UART 读取就是我需要的。 我从 TeraTerm 终端发送文件、该终端完全没有问题可供文件执行。 只有 UART 读取事务、如果大小不符合计数、则不会触发缓冲区的输入事务。 或者、如果在 count 下设置了计数(小于 TeraTerm 终端发送的文件大小、则会触发读取事务、但当然文件会很短。
准确地说:文件通过 TeraTerm 终端从测试 PC 发送。 该文件应该由 TMDS64EVM 通过 UART 读取事务接收。 文件大小 (count) 未知
您好、
如果这个 e2e 主题对您有帮助、请告诉我。
关于:LP-AM243:AM243x UART 轮询模式问题
谢谢、
Vaibhav
你好、Vaibhav、
添加:
TRANS.TIMEOUT = NUMBER_OF_CPU_TICKS;//足以让 TeraTerm 发送文件
和
计数=(((UART_Config *) gUartHandle[CONFIG_UART_CONSOLE])->object->uartLld_handle ->ReadCount;
当 trans.count = MAX_BYTE_COUNT;//文件大小<此数字时、将起作用
感谢 Paul Barker 看到同样的问题。
谢谢你