您可能需要查看原始内存,在那里放置了CAN缓冲区,看看这个“奇怪”的数据是否在RAM中。什么是一个日志的例子,你可以生成100个+或类似的消息,足以显示你遇到的问题。在我看来,您为正在设置的FIFO配置分配了足够的内存;我还为FIFO元素计算了64*32位的存储项。如果您在第13或14次RX之后能够可靠地重复执行代码的问题,那么可能必须查看指针值(CiUAFIFOn...)。当您有FIFO的基址时,计算FIFO的边界,看看这个寄存器是否表明下一个读取可能超出边界。它应该环绕在递增到最终元素之后,正如我使用PIC32 MX的CAN模块所经历的那样。我有一个PIC32 MX795F512L,CAN模块大部分工作得很好。我不认为你应该遇到任何“奇怪”的问题,如果编程正确。无论如何,请尝试看我的一些建议,希望你取得进步。
您可能需要查看原始内存,在那里放置了CAN缓冲区,看看这个“奇怪”的数据是否在RAM中。什么是一个日志的例子,你可以生成100个+或类似的消息,足以显示你遇到的问题。在我看来,您为正在设置的FIFO配置分配了足够的内存;我还为FIFO元素计算了64*32位的存储项。如果您在第13或14次RX之后能够可靠地重复执行代码的问题,那么可能必须查看指针值(CiUAFIFOn...)。当您有FIFO的基址时,计算FIFO的边界,看看这个寄存器是否表明下一个读取可能超出边界。它应该环绕在递增到最终元素之后,正如我使用PIC32 MX的CAN模块所经历的那样。我有一个PIC32 MX795F512L,CAN模块大部分工作得很好。我不认为你应该遇到任何“奇怪”的问题,如果编程正确。无论如何,请尝试看我的一些建议,希望你取得进步。
举报