问答

汇集网友智慧,解决技术难题

21ic问答首页 - GD32F503RCT6 DMA无法启动

DMA SAR USART GD32 rc ar

GD32F503RCT6 DMA无法启动

168tfl2026-07-04
如下程序,使用DMA发送数据到USART2,单发USART正常发送,但用DMA批量发送不能启动:
                                       
                                         dmamux_event_generation_disable(DMAMUX_MUXCH2);    //DMAMUX_MUXCH1
                                          dma_interrupt_disable(DMA0,DMA_CH3,DMA_INT_FTF);
                                          usart_transmit_config(USART2, USART_TRANSMIT_ENABLE);
                                         usart_flag_clear(USART2,USART_FLAG_TC);      
                                         usart_dma_transmit_config(USART2,USART_DENT_ENABLE);
                                          //usart_dma_transmit_config(USART2,USART_DENT_DISABLE);
                                          dma_channel_disable(DMA0,DMA_CH3);                               //DMA_CH1 -> DMA_CH3
                                          //usart_data_transmit(USART2,0x55);
                                          dma_memory_address_config(DMA0,DMA_CH3,(uint32_t)lcdptr->lcdtx);
                                          dma_transfer_number_config(DMA0,DMA_CH3,lcdptr->lcdtxleng);
                                          dma_interrupt_flag_clear(DMA0,DMA_CH3,DMA_INT_FLAG_FTF);
                                          dma_interrupt_enable(DMA0,DMA_CH3,DMA_INT_FTF);

                                          dmamux_request_id_config(DMAMUX_MUXCH2,DMA_REQUEST_USART2_TX);
                                          dmamux_synchronization_disable(DMAMUX_MUXCH2);
                                          
                                          dma_channel_enable(DMA0,DMA_CH3);
                                          //dmamux_event_generation_enable(DMAMUX_MUXCH1);
                                          lcdptr->lcdst = TRANS_IN;



                    有劳高手指点!!!!
回答 +关注 0
42人浏览 0人回答问题 分享 举报
0 个回答

您需要登录后才可以回复 登录 | 注册