最近调试51单片机的can总线,网上的资料相对而言实在是比较少,在调试的时候增加了很多的困难。分享一套测试过的代码和原理图方便后来者,节约成本。
首先奉上资料连接:
github连接:SJA1000-STC89c51-can-
CSDN链接:SJA1000-STC89c51-can–main (2).zip
资料总共分成两个部分,
一个是原理图
一个是代码程序
can通信模块
这照片所示的是can通信模块,就是淘宝上普通的模组
51单片机系统板
最小系统板
如下就是最小系统板,使用杜邦线连接模组和单片机,以及单片机之间的通信。
大概就这样子吧,代码的话去上面的连接找。
另外一些需要注意点
- can的模块可能损坏,我在调试的时候,模块就是坏的,浪费了很多的时间
- 红外线通过中断触发,所以需要将状态的PIN和中断的PIN连接在一起。
- 另外三,can通信传输了一堆数据,在可见的can通信程序中,只使用了一个can的数据,其实可以一次发送多个数据,在我的程序中也可以看到
PS:另外有空,也画一个can的主板出来,仅供学习使用
最后,所有代码以及程序仅供学术使用,各种稳定以及bug问题,在此概不负责(狗头保命)。
最后最后愿抄我代码的各位,没有bug。