就是介绍一下dma,只能内存到外设,外设到内存,内存到内存,不能外设到外设这样进行数据传输
这个是 可以看这个表来查,哪个dma的哪个通道用来传输什么数据,这个是芯片固定好的,只能看表查,不能自己随便搞
这个是dma的优先级,优先级有四个等级,最高,高,中和低优先级,然后是编号越低优先级越高,但是我不知道,可不可以比如说dma1的ch4通道我已经设置了串口,又设置tim,那么到底哪里起效
注:可能先设置的串口会被后设置的tim覆盖,只会有tim起效果 ,但是没试过,只是猜测,之后有空试试
这个是dma的相关寄存器介绍,看看就好
和上面寄存器对照着看,这里有两站相同的图的原因是这个人挡住了画面,只能照两张才看得清楚全部的东西
这个是dma的配置步骤,
第一点:但是正点原子的hal版本只是把数据通过dma传给串口然后发出去,然后我学的嵌入式技术公开课的那个也是把数据通过dma传给串口然后发出去,没有把数据通过串口接到dma然后丢回来的操作,这个需要看一下
第二点: 我上面提到的这两个都没有使用nvic中断
上面这两个图的代码都是hal库的代码 ,在标准例程里面