打印

GD32F405RG 芯片 DMA 初始化代码异常

[复制链接]
1829|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lxdate|  楼主 | 2024-3-27 16:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
lxdate|  楼主 | 2024-3-27 16:20 | 只看该作者

GD32F405RG 芯片 DMA 初始化代码异常

int32_t uart_dma_init(void)
{
    usart_deinit(USART0);
    usart_disable(USART0);
    rcu_periph_clock_enable(RCU_GPIOA);
    rcu_periph_clock_enable(RCU_USART1);
    gpio_af_set(GPIOA,GPIO_AF_7,GPIO_PIN_9|GPIO_PIN_10);
    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, USART1_TX_PIN|USART1_RX_PIN);
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, USART1_TX_PIN|USART1_RX_PIN);
    nvic_irq_enable(USART1_IRQn,5,0);

    usart_baudrate_set(USART0,2250000U);
    usart_parity_config(USART0,USART_PM_NONE);
    usart_word_length_set(USART0,USART_WL_8BIT);
    usart_stop_bit_set(USART0,USART_STB_1BIT);
    usart_hardware_flow_coherence_config(USART0,USART_HCM_NONE);
    usart_data_first_config(USART0,USART_MSBF_LSB);

    usart_enable(USART0);

    usart_transmit_config(USART0,USART_TRANSMIT_ENABLE);
    usart_receive_config(USART0,USART_RECEIVE_ENABLE);

    usart_dma_transmit_config(USART0, USART_DENT_ENABLE);//打开串口DMA发送
    usart_dma_receive_config(USART0, USART_DENR_ENABLE);//打开串口DMA接收

    usart_flag_clear(USART0, USART_FLAG_TC);
    usart_interrupt_enable(USART0,USART_INT_IDLE);//使用串口空闲中断

    return 0;
}

使用特权

评论回复
板凳
zeshoufx| | 2024-3-28 16:47 | 只看该作者
lxdate 发表于 2024-3-27 16:20
int32_t uart_dma_init(void)
{
    usart_deinit(USART0);

你的库函数版本对吗?现在开启DMA函数参数如下:/* USART DMA enable for transmission and reception */
    usart_dma_transmit_config(USART0, USART_TRANSMIT_DMA_ENABLE);
    usart_dma_receive_config(USART0, USART_RECEIVE_DMA_ENABLE);







gd32f405.jpg (344.63 KB )

GD32F4XX 串口DMA配置

GD32F4XX 串口DMA配置

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝