STM32F103RCT6断电以后,ADC会漏电
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
请教STM32F103的DMA空闲接收问题
STM32F405rgt6 I2S DMA输入会造成卡死,这个芯片有BUG
STM32H725VGT3内存不足问题
STM32H7A3 怎样配置MDMA的硬件触发MDMA_REQUEST_DMA1_Stream0_TC将数据再次转运
STM32F103VCT6通过串口1烧录程序问题
串口DMA收发出现ORE错误
关于外部事件(EXTI0)触发SPI读取数据
有没有大佬更新了CubeIDE2.0.0,在软件内更新后体积大了一倍
微信公众号
手机版
不是特别理解你的意思是即便你只改变UART的TX,也需要重新开启UART的RX接收?
是,将tx引脚配置为模拟输入模式,然后再配置成tx模式,就需要再次打开dma接收,否则串口不能正常接收数据
那请问你的TX引脚有没有绑定某一个DMA通道?
另外其实你没有描述你TX引脚的功能和连接。你的PA2引脚是功能复用的吗?和你UART进行通讯的是什么设备?因为有一类设备的UART是单线半双工的,它的TX和RX实际是一根线分时复用的。有些电路给的参考电路时MCU这一侧将TX和RX通过一个电阻连接在一起和这些设备通讯。类似的设备可以参考TMC2209.
查到原因是串口通讯的另一个芯片发生了复位,rx引脚一直低电平,单片机接收发生帧错误,重新启动dma后才能正常接收,但是帧错误后为什么必须重启dma?
DMA接收数据有严格的限制,除了起始地址必须保证4字节对齐,必须在可以访问的地址范围之外,你设定的发送和接收长度必须满足。我的理解帧错误一定是数据未能正常发送,或者发送了其中一部分。dma和外设直接的协商。(比如uart要求dma将rx的数据保存到那个位置,保存多少数据,每次保存地址要不要加一。是circuit模式还是其他模式。)所以如果你这次的任务失败当然要停止上次的任务,然后安排下一次的任务。