极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19383|回复: 33

各位大神,再次发帖求助。关于arduino 驱动mcp2515CAN模块问题

[复制链接]
发表于 2016-9-27 18:26:18 | 显示全部楼层 |阅读模式
本帖最后由 panthermx 于 2016-10-3 19:32 编辑

各位大神,再次发帖求助。
看了这位大神的帖子 利用Arduino自制汽车智能液晶仪表  http://www.geek-workshop.com/thread-25584-1-1.html  (出处: 极客工坊)
自己买了mcp2515的CAN模块,用大神提供的库文件驱动,结果无法驱动,在设置CAN网络速率的时候无法成功。
SPI接线没有问题。

但奇怪的是,虽然速率设定不成功,用万用表测量CAN线电压的时候,偶尔会收到长度为0的CAN报文,没有报文内容。



具体是下面这个命令执行不成功。下一步也没有办法测试。
/*********************************************************************************************************
** Function name:           init   ** Descriptions:            init can and set speed
*********************************************************************************************************/

INT8U MCP_CAN::begin(INT8U speedset)
{
   INT8U res;
    SPI.begin();
    res = mcp2515_init(speedset);
    if (res == MCP2515_OK) return CAN_OK;
    else return CAN_FAILINIT;
}


问了卖家说是这个MCP2515的板子不支持arduino,说是只有arduino版的才能配套使用。可是看文件并没有说明有这个区分。
也看了卖家给的51程序,库文件内容定义和arduino是一样的,没发现有什么不同。


已经研究了半个多月了,还是没有弄明白。难道真的是有arduino和51版本区别?


向各位大神求助,谢谢。

CAN.zip

10.87 KB, 下载次数: 80

库文件

MCP2515数据手册.pdf

2.23 MB, 下载次数: 64

datesheet

MCP2515_CAN模块用户手册.pdf

1.09 MB, 下载次数: 92

泥人MCP2515模块-标准帧例程(STC89).rar

74.44 KB, 下载次数: 67

51例程

回复

使用道具 举报

发表于 2016-9-28 18:37:47 | 显示全部楼层
用这个库吧,一直用这个 挺好的 CAN_BUS.rar (781.52 KB, 下载次数: 154)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-29 10:12:33 | 显示全部楼层
本帖最后由 panthermx 于 2016-9-29 10:23 编辑
275891381 发表于 2016-9-28 18:37
用这个库吧,一直用这个 挺好的


感谢大神的再次帮助。
库文件已经下载,测试。但是问题还是一样的,CAN速率设置不成功。
软件用的是1.0.1版本的,把片选脚 也改成D9 和D10测试了,也不行。
还是没想明白问题在哪里,板子用的 NANO 接线用的引脚D10 11 12 13 中断用的D2
请大神帮忙再看一下。
image.jpeg
回复 支持 反对

使用道具 举报

发表于 2016-9-29 15:54:50 | 显示全部楼层
本帖最后由 275891381 于 2016-9-29 15:56 编辑
panthermx 发表于 2016-9-29 10:12
感谢大神的再次帮助。
库文件已经下载,测试。但是问题还是一样的,CAN速率设置不成功。
软件用的是1 ...


111.png
这个库cs用的是6,有的是9 你自己设定 不是默认的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-29 19:47:44 | 显示全部楼层
感谢大神再次指导。
片选分别定义了D9 D10都试了一下,引脚接设定的引脚,还是设置不成功。
不知道大神用的2515的板子是不是有说明arduino 可用呢?
还是有什么细节被我忽略了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-29 19:48:50 | 显示全部楼层
275891381 发表于 2016-9-29 15:54
这个库cs用的是6,有的是9 你自己设定 不是默认的

感谢大神再次指导。
片选分别定义了D9 D10都试了一下,引脚接设定的引脚,还是设置不成功。
不知道大神用的2515的板子是不是有说明arduino 可用呢?
还是有什么细节被我忽略了?
回复 支持 反对

使用道具 举报

发表于 2016-9-30 08:20:49 | 显示全部楼层
本帖最后由 275891381 于 2016-9-30 08:22 编辑
panthermx 发表于 2016-9-29 19:48
感谢大神再次指导。
片选分别定义了D9 D10都试了一下,引脚接设定的引脚,还是设置不成功。
不知道大神 ...


没说用D9 D10呀  你看程序里面定义的是多少就用多少,我刚测试了下 能用的
我用的arduino uno   11--si 12--so 13---sck    const int SPI_CS_PIN = 6;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-30 10:00:20 | 显示全部楼层
275891381 发表于 2016-9-30 08:20
没说用D9 D10呀  你看程序里面定义的是多少就用多少,我刚测试了下 能用的
我用的arduino uno   11--s ...

大神
这次测试定义CS为9,接的也是D9
将设定CAN速率的部分改为只执行一次
串口显示速率设定失败
之后测量CAN线电压时,会出现接收到CAN报文,这样看来设备和通讯应该是正常的吧
用的杜邦线,也测了一下阻值,都在1欧姆一下。
还会有什么地方不对呢?
image.jpeg
回复 支持 反对

使用道具 举报

发表于 2016-9-30 10:26:36 | 显示全部楼层
panthermx 发表于 2016-9-30 10:00
大神
这次测试定义CS为9,接的也是D9
将设定CAN速率的部分改为只执行一次

看你有数据应该是,正常
是不是接线不稳定呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-30 10:54:38 来自手机 | 显示全部楼层
本帖最后由 panthermx 于 2016-9-30 10:59 编辑


现在这个状态接入到车辆的CAN网络里,收不到任何报文。
不接去车辆CAN网络里,偶尔会有报文。应该是芯片电压波导致的错误信号。
因此判定是CAN速率设定不成功。
如果是接线不稳定,偶尔也能成功一次吧,现在一次都没有成功。
大神,买的2515的板子是对的吧。
回复 支持 反对

使用道具 举报

发表于 2016-9-30 10:59:09 | 显示全部楼层
panthermx 发表于 2016-9-30 10:54
CANκ
CAN磬
жCAN趨о

库正常,你只能检查硬件了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-30 11:03:38 | 显示全部楼层
275891381 发表于 2016-9-30 10:59
库正常,你只能检查硬件了

大神,关键问题,这个板子分不分arduino和51单片机 两个版本。
我买了2个,用这个库都一样。
回复 支持 反对

使用道具 举报

发表于 2016-9-30 13:57:24 | 显示全部楼层
panthermx 发表于 2016-9-30 11:03
大神,关键问题,这个板子分不分arduino和51单片机 两个版本。
我买了2个,用这个库都一样。

板子肯定不分呀,两个难道都是初始化有问题吗?

回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-30 16:02:40 | 显示全部楼层
275891381 发表于 2016-9-30 13:57
板子肯定不分呀,两个难道都是初始化有问题吗?

确实是两个板子都无法设置速率。
相同的情况,办公室和家里分别有一个,一个用NANO  ,一个UNO
都不行。实在是想不通了
回复 支持 反对

使用道具 举报

发表于 2016-9-30 16:44:18 | 显示全部楼层
panthermx 发表于 2016-9-30 16:02
确实是两个板子都无法设置速率。
相同的情况,办公室和家里分别有一个,一个用NANO  ,一个UNO
都不行 ...

uno 不可能呀,我早晨试的还可以呢。真不行也无能为力了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-10-1 16:23 , Processed in 0.057173 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表