久芯网

DMA串口收发问题

avatar zzzzzhp 提问时间: 2023-09-29 09:07:55 / 未解决
用MDK5的simulation软件仿真遇到了以下问题:
        DMA_Cmd(USARTx_DMA_TX_CHANNEL, ENABLE);
        DMA_Cmd(USARTx_DMA_RX_CHANNEL, ENABLE);
当我这样初始化之后,我从串口发数据,我的内存数据没有被改变,而当我把第一行注释掉之后
//        DMA_Cmd(USARTx_DMA_TX_CHANNEL, ENABLE);
        DMA_Cmd(USARTx_DMA_RX_CHANNEL, ENABLE);
我再往串口发数据,内存数据就能被改变了,有没有老哥知道是为什么??哭了

3个回答
  • avatar wenyangzeng
    回答时间: 2023-09-28 09:26:56

    楼主的USART未设置DMA传送,当然不正常了。 USART_DMACmd(USARTy, USART_DMAReq_Rx | USART_DMAReq_Tx, ENABLE); 官方有例程可以参考的: USART-DMA.rar (30.24 KB, 下载次数: 5) 2020-6-18 20:57 上传 点击文件名下载附件 下载积分: ST金币 -1

  • avatar zzzzzhp
    回答时间: 2023-09-28 09:52:56
    wenyangzeng 发表于 2020-6-18 20:57
    楼主的USART未设置DMA传送,当然不正常了。 USART_DMACmd(USARTy, USART_DMAReq_Rx | USART_DMAReq_Tx, EN ...

    这两个我都是有使能的,我是TX使能的时候串口就收不到数据了

  • avatar STM32小谭
    回答时间: 2023-09-28 10:18:01

    配置不对

会员中心 微信客服
客服
回到顶部