arduino UNO、arduino 2560和can总线-基于mcp2515的一些基础通讯

最近小白做了有关arduino和can总线的通信,先在网上买了基于Arduino的CAN模块,买的时候别买错了,要Arduino版的不是51版的(小白就买错一次)。

 然后,我就根据淘宝店家给的Arduino库和连线方式,用MEGA2560和CAN模块通信,但是串口显示 Can init fail!!!最后我用Arduino UNO 和CAN模块通信,串口显示出数据了。
   这个是 CAN模块Arduino UNO连线方式:
它的库请在下面的连接下载。

       本来任务已经完成,不过对于MEGA2560一直不能通信我感到很好奇,于是我问了一下度娘,查到 Arduino UNO的SPI引脚和 MEGA2560的SPI引脚不同,
这个是 MEGA2560的SPI引脚:

于是乎, 我又换了引脚,结果 串口 还是显示 Can init fail!!!为什么啊!
没有办法,我只好用示波器来测这两个单片机的SPI因脚的波形,发现两个单片机的SCK引脚都是发出4MHZ的脉冲信号,MOSI发出的是载波信号,MISO发出的 是低电平(我测的是发送程序),只有SS信号不一样,哈哈,终于发现倪端了!尽管SS是SPI的片选信号,可是我用的CAN库里好像只认 Arduino UNO的SPI的SS信号-10号引脚,于是我用2560的10号角接SS端,结果还是不行~
     最后,我在网上发现了另一个库,可以改SS信号的引脚,我就用了它的例程,把SS信号随便改了一个数字引脚,结果就成功了!而且 Arduino UNO也可以用。
Arduino 库:
仅Arduino UNO:可以用 http://yun.baidu.com/s/1qX3adXy
Arduino UNO和 MEGA2560都可以用: http://yun.baidu.com/s/1pKjzo4V


  • 12
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值