MCP2515波特率问题

时间:2016-06-26 11:02:46

标签: can-bus bus baud-rate

我必须长期坚持这个问题。

有2个MCP2515 CAN接口芯片相互连接。一个由Arduino控制,另一个由STM32板控制。

计划:( - >:=发送)

Arduino-> MCP2515-> MCP2515-> STM32

如果我将Arduino上的波特率设置为50k,将STM32上的波特率设置为50k,则第二个MCP2515上没有接收中断。 当我将Arduino上的波特率加倍到100k时,会有一个中断并且数据被正确传输。

奇怪的是:两个MCP2515芯片上的CFG1 CFG2 CFG3寄存器设置相同! 当然我可以一直加倍频率,但是像31K25这样的波特需要62K5,这不在库中。 希望有人遇到同样的问题,或者可以帮忙解决这个问题。

我还尝试使用此代码进行波特率参考:

https://github.com/latonita/arduino-canbus-monitor/blob/master/mcp_can.cpp

顺便说一下:两者都运行在8MHz晶体振荡器上

1 个答案:

答案 0 :(得分:0)

问题部分解决了,双频是因为Arduino IDE在lib目录中使用了头文件而不是文件夹外的自定义目录!

如果我转到10kBaud或以下,中断现在没有响应。它可能太低而无法处理?