单片机学习小组
直播中

徐胤

7年用户 1072经验值
私信 关注

M484的PDMA遇到一个问题,普通模式SA(Source Address)没有递增怎么解决?

看上去像是PDMA内部维护了一个SA指针
我想知道PDMA的内部SA的更新逻辑,写CTL的时候,内部维护的SA指针是否会更新为DSCT里的SA值?

回帖(1)

大彭

2024-1-18 16:39:22
根据M484的手册,PDMA在普通模式下可以通过数值或地址两种方式配置SA(Source Address)。对于数值配置方式,SA会在每次传输完成后自动增加,而对于地址配置方式,SA则需要由应用程序手动递增。因此,如果你使用的是地址配置方式,需要在应用程序中手动递增SA的值。

在PDMA进行数据传输时,SA指针会从DSCT中读取,并在传输过程中保持不变,直到传输完成。因此,没有内部维护SA指针的情况发生。

需要注意的是,在使用PDMA进行多块数据传输时,DSCT中每个块的SA都需要正确配置,否则可能会导致数据传输失败或出现意外数据。建议仔细查看M484的手册,并按照要求正确配置PDMA相关的寄存器和数据结构。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分