举报
在使用STM32H750VBT6的FDCAN模块时,遇到发送异常的问题,特别是发送挂起寄存器一直有标志的情况,通常与时钟配置、硬件初始化、中断处理或软件逻辑有关。根据你的描述,问题最终定位到时钟配置,以下是可能的原因和解决方案:
RCC配置,确保FDCAN时钟源正确启用,并且APB1时钟频率与FDCAN模块的预期频率一致。HAL_FDCAN_Init函数进行初始化,并确保所有参数符合应用需求。FDCAN_InitTypeDef中的DataPrescaler、DataSyncJumpWidth和DataTimeSeg1、DataTimeSeg2等参数配置正确。HAL_FDCAN_GetTxFifoFreeLevel函数检查发送缓冲区的空闲空间。FDCAN_IT_TX_COMPLETE)已启用。HAL_FDCAN_IRQHandler,并确保清除发送完成标志。HAL_FDCAN_GetTxEventFifoFillLevel检查发送事件缓冲区的状态。根据你的描述,问题最终定位到时钟配置,建议重点检查以下内容:
通过以上步骤,应该能够解决FDCAN发送异常的问题。如果问题仍然存在,可以进一步检查硬件连接或使用调试工具(如ST-Link、逻辑分析仪等)分析CAN总线的信号。
举报
更多回帖