
环境:stm32g474re,加上主板,CAN总线上一共有9个节点,其中有一个节点是CAN扩展帧协议,其他为CANFD BRS开启,标准帧 配置:仲裁域 1M 80%,数据域 5M 75%,开启自动重传 问题现象:通信过程,长时间测试,偶现主板无法往总线上刷数据,我们是一主多从方式,主板依次轮询每个节点的信息,一问一答式,总线上测到无信号,CAN寄存器看到无bus-off,DLEC 和LEC错误码都为7,TEC为0,REC为1,TXFIFO为满 尝试手段: CAN H和CAN L短路,这样会导致bus off,和我们看到的寄存器状态不匹配,排除; 把主板的CAN从总线断路,TXFIFO为满,应该是开了重传,fifo数据一直在尝试重发,新的数据进不来。这样符合看到问题时的寄存器状态,但是重新接回总线,异常能够恢复,FIFO恢复正常,但是我们的问题是出现后,一直无法恢复,通过重新初始化CAN能够恢复,所以不像是CAN总线接触不良。 问题:所以还有什么情况会造成FIFO一直满的情况,还发送不出数据到总线 |
STM32G474, I2C设备地址,总出现多余地址0x20,是什么原因?
STM32G431CBU6 驱动STDRIVE101,自己配置的PWM互补输出,死区时间为500ns,为什么STDRIVE101的报警灯会亮,CP接10K接地了,scref接的+5V
关于STM32G474 双BANK的测试问题
STM32G473CBUx的模拟地
最近在做单极倍频SPWM
为什么STM32G431的串口用不了2.5M的波特率
上电连接USB显示DFU模式
STM32G491RE上电出现DFU模式
STM32G431的3.3V引脚对地电阻变小
STM32G473RC timer8的CCDS bit, Capture/Compare DMA selection.
这样是可以解决的,但我想知道原因在哪。感觉CAN的fifo被挂起推不出数据了。