自学内容网 自学内容网

DMA 正点原子版

cfab5ef64ee84081801a86e8eb9b3a58.jpg

 就是介绍一下dma,只能内存到外设,外设到内存,内存到内存,不能外设到外设这样进行数据传输

3ac588b5f54d41a5afafa07fda9c306b.jpg

 这个是 可以看这个表来查,哪个dma的哪个通道用来传输什么数据,这个是芯片固定好的,只能看表查,不能自己随便搞

1610afdd539240f49f6e6e284b71be81.jpg

 这个是dma的优先级,优先级有四个等级,最高,高,中和低优先级,然后是编号越低优先级越高,但是我不知道,可不可以比如说dma1的ch4通道我已经设置了串口,又设置tim,那么到底哪里起效

注:可能先设置的串口会被后设置的tim覆盖,只会有tim起效果 ,但是没试过,只是猜测,之后有空试试

 

1a360ca5ec2e4c858d7ad0558b227547.jpg

这个是dma的相关寄存器介绍,看看就好

 

92c86b27559f4b14b796132689ce1e05.jpg  

78dee1e0cb854c00b1d11fbe28b6edb3.jpg

和上面寄存器对照着看,这里有两站相同的图的原因是这个人挡住了画面,只能照两张才看得清楚全部的东西

 

544ed8792670419eb36558a54c6979a5.jpg 

 这个是dma的配置步骤,

第一点:但是正点原子的hal版本只是把数据通过dma传给串口然后发出去,然后我学的嵌入式技术公开课的那个也是把数据通过dma传给串口然后发出去,没有把数据通过串口接到dma然后丢回来的操作,这个需要看一下

第二点: 我上面提到的这两个都没有使用nvic中断

 

832c5662723d41e98e6ffc06122515cd.jpg

3b90c8a64f77492390600fcd127cd7d9.jpg 

 上面这两个图的代码都是hal库的代码 ,在标准例程里面

 


原文地址:https://blog.csdn.net/weixin_72581824/article/details/142701682

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!