关于HC32F460 DMA 的疑问
根据 勘误表■ 问题描述
DMA 通道传输完成后,硬件会使通道使能寄存器(DMA_CHEN)相应位自动清零。可能会和软件写使
能 DMA_CHEN 产生冲突。
■ 变通措施
避免在 DMA_CHEN 的某位或某几位自动清零时,对该寄存器内执行 RMW 操作
按照这个逻辑,DMA就是个**肋了啊,
现在需要使用多个通道,有没有可以绕开的办法? 用例程跑跑看 本帖最后由 ch_liuping 于 2022-12-9 16:24 编辑
看了驱动库中的 DMA_ChCmd 函数的实现,在其它通道在使用中的情况下,如果待传输的数量大于10,则不等待,如果待传输的数量小于10,要等待通道传输完成。
如果理解没错,那最坏的情况是需要等待30个数据传输的时间,那每个数据传输的时间是不同外设来确定的,
哎!
这种清零以及软件冲突可以通过一定的数据处理滞后进行妥协吗 这个等待传输的数量 是指的数据包的数量还是值数据的数量啊 30个数据的传输时间是多少呢 跟波特率有关系吗 如何避免在 DMA_CHEN 的某位或某几位自动清零时,对该寄存器内执行 RMW 操作呢 这个默认的等待时间可以通过配置进行更改吗 任何模式下的数据传输在数据包之间都需要等待一定的时间
页:
[1]