STM32:UART DMA无法正确启动

问题描述 投票:0回答:1

我正在使用两个通过RS232连接的STM32H743。这两个模块连接到相同的电源。他们使用带DMA的UART。当我同时打开模块时,UART和DMA正确启动。但是,当我重新启动其中一个模块而其他模块未唤醒时,复位模块的UART和DMA无法启动,因此它们无法相互通信。STM32F4系列之前也发生过此问题。 MCU连接到FPGA,它们通过UART通信。当FPGA在MCU之前启动时,DMA和UART无法正确启动。什么会导致此问题?在启动UART之前,我是否需要具有高z或浮动引脚状态?

c serial-port stm32 uart dma
1个回答
0
投票

UART和DMA外设通常具有错误检测器,因此将其标志写入状态寄存器。当发生错误时,STM32 HAL将停止正在进行的任何传输,并等待直到您解决此失败。您可以使用调试模块检查HAL状态寄存器以解决问题,并在代码中添加处理方法。首先,您可以通过运行DeInit()重置外设,并在运行外围设备的Init()例程后立即出错,并重置其他任何代码段,例如状态机和使用此外围设备中数据的内容。

© www.soinside.com 2019 - 2024. All rights reserved.