您好!
我想知道是否可以使用 UART 和 DMA 传输一个16位缓冲区、而不必将缓冲区分解为字节。
例如、如果我的缓冲区的值为0x1122、0x3344、0x5566、我是否需要将该缓冲区分解为另一个值为0x0022、0x0011、0x0044、0x0033、0x0066的缓冲区 在使用 UART 和 DMA 进行传输之前为0x0055? 或者、DMA 是否具有允许其自动执行此操作的一些设置?
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.
您好!
我想知道是否可以使用 UART 和 DMA 传输一个16位缓冲区、而不必将缓冲区分解为字节。
例如、如果我的缓冲区的值为0x1122、0x3344、0x5566、我是否需要将该缓冲区分解为另一个值为0x0022、0x0011、0x0044、0x0033、0x0066的缓冲区 在使用 UART 和 DMA 进行传输之前为0x0055? 或者、DMA 是否具有允许其自动执行此操作的一些设置?
您好、Vince。
"uart_ex2_loopback_udma.c"用于 cortex-M4内核。
对于 cortex-M4、没有问题、因为它只适合每个连续地址一个字节、因此16位值将存储为2个连续字节的序列。
我希望德州仪器(TI)曾经想过克服 C28x 的这一缺点、它可以在 F28P65x 的这一新 UART 中实现某种逻辑:在 UART 的数据寄存器中写入一个字(16位)时会传输两个字节(LSB、然后是 MSB)、 而不是仅传输 LSB。