DMA存储器

2019-07-21 03:25发布

在代码运行过程中,还可以对DMA再次初始化来更新存储器地址或者存储器地址中的值吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
edmund1234
2019-07-21 16:27
本帖最后由 edmund1234 于 2019-4-5 14:10 编辑
问题很大 发表于 2019-4-5 13:19
我是把DMA的初始化用一个函数封装的,这种情况怎么该地址和数据长度呢。可以禁能后改变数组的值然后使能 ...

DMA1_Channel1->CCR &= ~(u32)DMA_CCR_EN;
        DMA1_Channel1->CMAR = (u32)0;      // 内存地址
        DMA1_Channel1->CNDTR = 0x100;     // 数据长度         
        DMA1_Channel1->CPAR = (u32)&USART1->DR;          // 如没需要改变外设地址可删去这条
DMA1->IFCR = 0x0F<<0;

DMA1_Channel1->CCR |= DMA_CCR_EN;

是否把这几行封成函数你自己看着办吧

一周热门 更多>