2011-12-07 21:36:02、

效果图:

1,51的SJA1000自收自发测试完成,见上一篇小结。

2,SJA1000自测完成后,再自测MCP2515就非常容易。主要是设置工作模式为回环模式即可。测试ok。

3,开始SJA1000和MCP2515的双机通讯

先做最简单的实验。SJA1000发送,MCP2515接收,并通过串口显示接收ID及接收数据。我把调试成功的结果写出来。

步骤1:(主要改波特率)

1)      设置波特率使2者一致。

2)      SJA1000及MCP2515由自测模式改成正常模式。

3)      MCP2515设置关闭屏蔽接收所有帧,RXB0CTRL.RXM。

CAN通讯成功。证明我的双机硬件连线都正确。

步骤2:(主要改滤波)

在步骤1的基础上

1)修改MCP2515的RXB0CTRL.RXM,使其只接收符合滤波器条件的带有扩展标识符的有效报文。

2)修改屏蔽寄存都为0,对应的标识符位将被自动接收而不进行滤波。

CAN通讯成功。

步骤3:(主要改滤波)

在步骤2的基础上

1)      修改SJA1000的ID,改成ID1=1.即

unsigned char Send_CAN_Info_ID[5]={0x88,0x00,0x00,0x0,0x11};地址20是0x11,就是设置ID1=1.

2)      修改MCP2515的ID,把滤波屏蔽全0改成全1,一定要接收ID与验收滤波一致才可通讯。SPIByteWrite(RXF0EID0,0x02);就是设置ID1=1.

CAN通讯成功。

步骤4:(主要修改ID

在步骤3的基础上

1)修改SJA1000的ID,改成ID1=1.即

unsigned char Send_CAN_Info_ID[5]={0x88,0x00,0x40,0x0,0x11};地址20是0x11,就是设置ID19=1.

2)修改MCP2515的ID SPIByteWrite(RXF0SIDL,0x48);就是设置ID19=1. EXIDE要设置为1.

说明:ID一致才能接收。

步骤5:(配合滤波修改ID

在步骤4的基础上

1)修改MCP2515的ID SPIByteWrite(RXF0SIDL,0x68);就是设置ID19=1. EXIDE要设置为1.

由于ID通过滤波后是不同的,所以通讯应该失败。验证ok。

2)修改滤波,使其对ID19,ID20,ID21忽略,设置SPIByteWrite(RXM0SIDL,0x0F);

CAN双机通讯成功。打印时候显示接收的ID及数据,见最终效果图。

CAN双机通讯调试小结(SJA1000与MCP2515通讯)的更多相关文章

  1. 高通平台 lcd driver 调试小结

    一.概述 1.1 简介 本文档主要包括LCD模块的驱动流程分析.Framebuffer相关知识.Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解. 1.2  开发环境 And ...

  2. Android 即时通讯开发小结(二)

    <Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...

  3. Android 即时通讯开发小结(一)

    <Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...

  4. 使用iCamera 白平衡调试小结 CC1603@AR0134

    使用iCamera 白平衡调试小结 CC1603@AR0134 iCamera有强大的各种摄像头调试功能 之前演示过的有:曝光.增益.各种寄存器测试.RAW.yuv输出 今天测试下白平衡功能 绝大多数 ...

  5. 基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结

    基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结 先看看官方的接口 组委会指定的模块接口 信号定义说明: VDD:3.3v GND:地 SCK:摄像头寄存器的iic配置信号的时钟线 ...

  6. 【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制

    1.1    应用场景 通讯平台的交互对象包括两方面:第一.与硬件产品交互.第二.与软件产品交互.基本这两方面考虑,通讯平台一般会应用在两个场景: 1)通讯平台应用在PC机上 主要应用在自动站的工控机 ...

  7. Vue最常用的组件通讯有三种:父->子组件通讯、子->父组件通讯,兄弟组件通讯.(template用的pug模板语法)

    Vue组件通讯   Vue最常用的组件通讯有三种:父->子组件通讯.子->父组件通讯,兄弟组件通讯.(template用的pug模板语法) 1.父->子组件通讯 父->子组件通 ...

  8. 台达PLC开发笔记(二):台达PLC设置主机通讯参数为RTU并成功通讯

    前言   前面使用485和网口与台达成功建立通讯,但是485是使用用的ASICC模式,多数情况下是使用RTU模式提升通讯效率.   下载安装台达ISPSoft软件   官网下载地址:https://d ...

  9. 鸿蒙内核源码分析(进程通讯篇) | 九种进程间通讯方式速揽 | 百篇博客分析OpenHarmony源码 | v28.03

    百篇博客系列篇.本篇为: v28.xx 鸿蒙内核源码分析(进程通讯篇) | 九种进程间通讯方式速揽 | 51.c.h .o 进程通讯相关篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 自旋锁当 ...

随机推荐

  1. redis日志格式

    在redis.conf中,在大概65行左右有个loglevel # 指定日志记录级别# Redis总共支持四个级别:debug.verbose.notice.warning,默认为verbose# d ...

  2. asp.net MVC jsonp跨域获取数据

    public class JsonpResult : JsonResult { object _data = null; public JsonpResult() { } public JsonpRe ...

  3. (79)Wangdao.com第十五天_JavaScript 对象的继承_prototype原型对象_封装_函数式编程

    javascript 内置了许多 function 函数(){...} js 执行首先就会执行自己内置的函数定义 (function Function.function Object) 对象的继承 大 ...

  4. Docker 安装以及运用

    Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上.Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位.系统内核版 ...

  5. Linux安装nginx详细步骤

    安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 在/usr/local/下创建一个nginx的文件夹 ...

  6. 洛谷P3835 【模板】可持久化平衡树

    题目背景 本题为题目 普通平衡树 的可持久化加强版. 数据已经经过强化 感谢@Kelin 提供的一组hack数据 题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作( ...

  7. 学习ActiveMQ(五):activemq的五种消息类型和三种监听器类型

    一.前面我们一直发送的是字符串类型,其实activemq一共支持五种消息类型: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者 ...

  8. VUE-002-前端分页(el-pagination)展示数据

    在web开发过程中,通常使用表格展示数据,在数据较多时采用分页的方式展示给用户. 分页方式有前端假分页和后端分页两种实现方式,此文仅记录前端假分页实现方式. 第一步:添加分页组件(el-paginat ...

  9. hibernate学习(初识)

    hibernate是一个开源的对象关系映射框架(ORM).对JDBC进行了轻量级的封装.将对象和数据库表建立映射关系,hibernate框架使用在数据持久化层(DAO). ORM:对象关系映射(Obj ...

  10. mysql 的mgr集群

    mysql 的mgr集群 http://wubx.net/mgr%E7%9B%91%E6%8E%A7%E5%8F%8A%E4%BC%98%E5%8C%96%E7%82%B9/ MGR调优参数因为基本复 ...