Advertisement

GD32F103C型空闲中断DMA接收异步串口串口

阅读量:

近期在处理APM32串口中断接收字符串的问题时,通过查阅相关资料了解到,采用空闲中断结合DMA方式进行数据接收更为高效,经过一番探索与实践,现将相关配置内容整理如下,以供日后参考使用。

首先是对DMA模块的设置,具体实现代码如下:

复制代码
    void dma_config(void)
    {
    dma_parameter_struct dma_init_struct;
    
    rcu_periph_clock_enable(RCU_DMA0);
    
    /* deinitialize DMA channel4 (USART0 rx) */
    dma_deinit(DMA0, DMA_CH4);
    dma_init_struct.direction = DMA_PERIPHERAL_TO_MEMORY;
    dma_init_struct.memory_addr = (uint32_t)rxbuffer;
    dma_init_struct.memory_inc = DMA_MEMORY_INCREASE_ENABLE;
    dma_init_struct.memory_width = DMA_MEMORY_WIDTH_8BIT;
    dma_init_struct.number = 256;
    dma_ini

全部评论 (0)

还没有任何评论哟~