我给原子提个意见,你家寄存器版本直接操作用的数字,这样的数字不看用户手册明白不过来
建议可以使用stm32f10x.h这个头文件里的宏,那里对所有寄存器位进行了定义,可以避免无意义的数字出现
这是我用的crc dma的寄存器配置,你看看是否更直观些
- RCC->AHBENR |= 0
- | RCC_AHBENR_CRCEN
- | RCC_AHBENR_DMA2EN
- ;
- DMA2_Channel1->CPAR = (uint32_t)&CRC->DR;
- DMA2_Channel1->CCR = 0
- | DMA_CCR_MEM2MEM //M2M模式传送
- | DMA_CCR_PLVH //优先级最高
- | DMA_CCR_MSIZE32 //外设位宽32位
- | DMA_CCR_PSIZE32 //缓冲区位宽32位
- | DMA_CCR_MINC //缓冲区地址自增
- // | DMA_CCR_PINC //外设地址不变
- // | DMA_CCR_CIRC //非循环模式
- | DMA_CCR_DIR //存储器到外设
- | DMA_CCR_TEIE //传输错误中断
- // | DMA_SxCR_HTIE
- | DMA_CCR_TCIE //开启传输完成中断
- // | DMA_SxCR_EN //DMA流使能
- ;
|