您好!
我的座右铭是通过 DMA 将数据传输到 SCI 模块。 但在执行相同操作时、无论数据长度如何、仅传输我的数据的第一个和最后一个字节(通过 docklight 进行检查)。
DMA 控制数据包配置如下: 使用通道7 (随机选择)
{
源地址:声明为全局数组变量的数组地址。
目标地址:SCI3->TD 的地址。
通道控制:0
帧计数:10 (声明的数组的大小为10)
单元数:1
元素和帧目的偏移量:0 (针对源和目的)
端口分配:端口 A 读取、PORTB 写入
读取大小和写入大小:8个字节(作为源数组声明为 uint8)
传输类型:块传输
源地址模式:地址增量
目标地址模式:固定地址
自动初始化关闭。
在 DMA RAM 中设置控制数据包 (通道7)
启用通道7
等待 SCI TD 为接收下一个字符做好准备。
EMA DMA
等待通道7的 BTC 标志置位
}
BTC 标志设置后、仅发送第一个和最后一个字节。
注意:当源数据在没有 DMA 的情况下直接提供给 SCI->TD 时、传输运行良好
