我试图连接STM32G070微控制器与Quectel BC660K-GL通过UART在DMA模式。我正在使用STM32CubeMX进行编程。我理解DMA工作的基本原则,因此,我非常清楚DMA设置标记中的设置,但我不理解 this设置标记,即是否应该通过EXTI第25行检查或取消检查USART1全局中断/ USART1唤醒中断(如图1所示):图1:新维也纳国际中心设置在线上有许多教程,但我找不到关于这个主题的更多信息。
发布于 2022-06-29 13:19:44
如果您使用DMA进行UART通信,则是DMA和UART,它们相互交谈,决定何时加载/存储下一个字节的数据。如果要为某些USART事件(如字节接收或帧错误或传输完成或其他)提供UART中断处理程序,则需要USART中断。但是如果您想要DMA来处理通信,USART和DMA可以在不需要您干预的情况下在它们之间进行。实际上,DMA的功能根本不需要中断。它将知道何时加载/存储新的数据,不受任何干扰。因此,USART中断将是不必要的。
通常,只有DMA中断是您感兴趣的。由于DMA接管了发送/接收数据的控制权,因此需要您注意的是DMA标志--例如,传输完成或传输错误。除非 you 有特定的理由对某些USART事件作出反应,否则您不需要USART中断,而且DMA也不需要。
https://stackoverflow.com/questions/72797249
复制相似问题