STM32使用DMA控制器试验总结
在使用串口DMA试验过程中,遇到了一些问题,通过试验找到了问题所在,也对DMA的应用有了新的认识,仅以此分享给大家,不足之处请多多指教。 DMA初始化 // 串口对应的DMA请求通道 # define USART_TX_DMA_CHANNEL DMA1_Channel4 # define USART_TX_DMA_IRQ DMA1_Channel4_IRQn # define USART_TX_DMA_IRQHandler DMA1_Channel4_IRQHandler // 外设寄存器地址 # define USART_DR_ADDRESS (USART1_BASE+0x04) // 一次发送的数据量 # define SENDBUFF_SIZE 250 /** * @brief USARTx TX DMA 配置,内存到外设(USART1->DR) * @param 无 * @retval 无 */ void USARTx_DMA_Config ( void ) { DMA_InitTypeDef DMA_InitStructure ; DMA_DeInit ( USART_TX_DMA_CHANNEL ) ; // 开启DMA时钟 RCC_AHBPeriphClockCmd ( RCC_AHBPeriph_DMA1 , ENABLE ) ; // 设置DMA源地址