我给原子提个意见,你家寄存器版本直接操作用的数字,这样的数字不看用户手册明白不过来
建议可以使用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流使能
;
|