我是这样做的,先配置好串口,暂不使能DMA,然后配置好DMA通道参数,然后使能串口的DMA方式(USART2_CR3.6),最后使能DMA通道(DMA1_CCR6.0)。我用的是USART2的接收,对应的通道为DMA1的通道6。香楼主帮看有什么问题没有。 观察效果跟DMA1_CCR6没有使能似的,由于串口不断接收到数据,却没被取走,会看到USART2_SR寄存器的值0XC0和0XF8(有时0XF0)之间跳跃。USART2_DR的值也随输入数据的改变而随动。也就是说串口工作正常。为什么DMA不动呢?还有什么因素有影响呢?
|