stm32cubeide更新后启动 发生了错误,请参阅日志文件
能在一个程序中同时使用TIM的callback和uart的callback函数吗?
TCP客户端 周期性 发送数据,一段时间后会突然停止,是什么原因。
STM32F103VCT6有64K的RAM?
多路ADC使用DMA模式有没有教程呀,芯片STM32L151
U575的NUCLEO板怎么使用X-CUBE-MEMS1
STM32CUBEIDE创建的工程名有黄色感叹号
使用串口双机通信的问题
stm32cubeide xx has no member named xx
STM32CubeIDE如何加载外部bin文件?
不是特别理解你的意思是即便你只改变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模式还是其他模式。)所以如果你这次的任务失败当然要停止上次的任务,然后安排下一次的任务。