根据您提供的信息,您正在尝试使用STM32H723ZGT6和STM32G473RCT6通过FDCAN进行通信。在单独的内部回环模式下,两个板子都能正常通信。但在普通模式下,G4板子能收到H7板子的数据,但H7板子无法接收G4板子的数据。
为了解决这个问题,我们可以按照以下步骤进行排查:
1. 检查硬件连接:确保两个板子之间的FDCAN通信线路连接正确,没有接触不良或断线的问题。
2. 检查滤波器设置:您提到滤波器设置都是屏蔽位,FilterID2都给的0x00,这意味着所有消息都应该被接收。请确保两个板子的滤波器设置是相同的,以便它们可以接收彼此的消息。
3. 检查波特率设置:您提到G4板子的主频是170MHz,DataPrescaler给的17分频;H7板子的FDCAN频率是100MHz,DataPrescaler给的10分频。请确保两个板子的波特率设置是匹配的,以便它们可以正确地发送和接收数据。
4. 检查时间分割设置:您提到两个板子的时间分割设置是相同的。请再次确认这些设置是否正确,因为错误的设置可能导致通信问题。
5. 检查中断配置:请确保H7板子的FDCAN接收中断已经正确配置,以便在接收到数据时能够触发中断。
6. 检查软件逻辑:检查两个板子的通信代码,确保发送和接收逻辑是正确的,没有错误或遗漏。
7. 使用示波器或逻辑分析仪:如果可能的话,使用示波器或逻辑分析仪观察FDCAN通信线路上的信号,以确定问题是否出在硬件层面。
通过以上步骤,您应该能够找到导致单边通信问题的原因,并采取相应的措施进行解决。
根据您提供的信息,您正在尝试使用STM32H723ZGT6和STM32G473RCT6通过FDCAN进行通信。在单独的内部回环模式下,两个板子都能正常通信。但在普通模式下,G4板子能收到H7板子的数据,但H7板子无法接收G4板子的数据。
为了解决这个问题,我们可以按照以下步骤进行排查:
1. 检查硬件连接:确保两个板子之间的FDCAN通信线路连接正确,没有接触不良或断线的问题。
2. 检查滤波器设置:您提到滤波器设置都是屏蔽位,FilterID2都给的0x00,这意味着所有消息都应该被接收。请确保两个板子的滤波器设置是相同的,以便它们可以接收彼此的消息。
3. 检查波特率设置:您提到G4板子的主频是170MHz,DataPrescaler给的17分频;H7板子的FDCAN频率是100MHz,DataPrescaler给的10分频。请确保两个板子的波特率设置是匹配的,以便它们可以正确地发送和接收数据。
4. 检查时间分割设置:您提到两个板子的时间分割设置是相同的。请再次确认这些设置是否正确,因为错误的设置可能导致通信问题。
5. 检查中断配置:请确保H7板子的FDCAN接收中断已经正确配置,以便在接收到数据时能够触发中断。
6. 检查软件逻辑:检查两个板子的通信代码,确保发送和接收逻辑是正确的,没有错误或遗漏。
7. 使用示波器或逻辑分析仪:如果可能的话,使用示波器或逻辑分析仪观察FDCAN通信线路上的信号,以确定问题是否出在硬件层面。
通过以上步骤,您应该能够找到导致单边通信问题的原因,并采取相应的措施进行解决。
举报