
STm32的DMA实验问题?
DMA传输数据为什么这句话DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable就是不让USART的地...
DMA传输数据为什么这句话 DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable就是不让USART的地址自动增加呢而内存地址却可以增加,如果usart的地址不增加怎么取到下一个数据呢?这里不是很明白,讲课老师说什么USART地址是固定的,也不是很理解,请高手指点一下,还有就是前面那个#define USART3_DR_Address 0x40004804,这个usart3的地址是怎么算的我忘了也不知道在那里查找,请大神指点
展开
3个回答
展开全部
对于硬件uart(串口)来说收到的数据总是放到一个指定的寄存器,对于你这个case来说就是0x40004804这个地址,对于dma每次只能到这个地址来读取数据,所以对于dma源地址来说它是固定不变的。但是dma的目的地址是可以不断增加的。
更多追问追答
追问
请问一下是不是uasrt串口这个寄存器,每次数据被取到内存以后,这个寄存器里面的数据就会被串口的新数据取代呢,所以地址不用增加
追答
是的。串口比较慢,所以一个寄存器就够了。

2023-06-12 广告
stm32怎么样?这个问题不能一概而论,要根据您的具体情况进行分析。意法半导体单片机产品线拥有业界很宽广、极具创新力的32位产品系列 – STM32,覆盖超低功耗、超高性能方向,同时兼具很强的市场竞争力。STM32是ARM Cortex内核...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询