楼主 我感觉 第一个 USARTx->DR = (Data & (uint16_t)0x01FF);和 return (uint16_t)(USARTx->DR & (uint16_t)0x01FF) 你上面 说了 是 给数据 给 寄存器 下面 的 DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&USART1->DR; 是取寄存器的地址 我就说个 ...
STM32 有如下程序片段:#define ADC1_DR_Address ((u32)0x4001244C)#define ADC3_DR_Address ((u32)0x40013C4C)..DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC1