MCP2515波特率问题



这个问题我已经纠结了很长时间了。

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

Scheme: (->:= send)

Arduino -> MCP2515 -> MCP2515 -> STM32

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

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

我还为波特率参考尝试了以下代码:

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

顺便说一下

:两者都运行在8MHz晶体振荡器

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

如果我去10k波特或以下中断现在不响应。是不是太低了,无法处理?

相关内容

  • 没有找到相关文章

最新更新