CAN双机通讯调试小结(SJA1000与MCP2515通讯)
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通讯)的更多相关文章
- 高通平台 lcd driver 调试小结
一.概述 1.1 简介 本文档主要包括LCD模块的驱动流程分析.Framebuffer相关知识.Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解. 1.2 开发环境 And ...
- Android 即时通讯开发小结(二)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...
- Android 即时通讯开发小结(一)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...
- 使用iCamera 白平衡调试小结 CC1603@AR0134
使用iCamera 白平衡调试小结 CC1603@AR0134 iCamera有强大的各种摄像头调试功能 之前演示过的有:曝光.增益.各种寄存器测试.RAW.yuv输出 今天测试下白平衡功能 绝大多数 ...
- 基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结
基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结 先看看官方的接口 组委会指定的模块接口 信号定义说明: VDD:3.3v GND:地 SCK:摄像头寄存器的iic配置信号的时钟线 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制
1.1 应用场景 通讯平台的交互对象包括两方面:第一.与硬件产品交互.第二.与软件产品交互.基本这两方面考虑,通讯平台一般会应用在两个场景: 1)通讯平台应用在PC机上 主要应用在自动站的工控机 ...
- Vue最常用的组件通讯有三种:父->子组件通讯、子->父组件通讯,兄弟组件通讯.(template用的pug模板语法)
Vue组件通讯 Vue最常用的组件通讯有三种:父->子组件通讯.子->父组件通讯,兄弟组件通讯.(template用的pug模板语法) 1.父->子组件通讯 父->子组件通 ...
- 台达PLC开发笔记(二):台达PLC设置主机通讯参数为RTU并成功通讯
前言 前面使用485和网口与台达成功建立通讯,但是485是使用用的ASICC模式,多数情况下是使用RTU模式提升通讯效率. 下载安装台达ISPSoft软件 官网下载地址:https://d ...
- 鸿蒙内核源码分析(进程通讯篇) | 九种进程间通讯方式速揽 | 百篇博客分析OpenHarmony源码 | v28.03
百篇博客系列篇.本篇为: v28.xx 鸿蒙内核源码分析(进程通讯篇) | 九种进程间通讯方式速揽 | 51.c.h .o 进程通讯相关篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 自旋锁当 ...
随机推荐
- 5. 箭头函数_this 指向_es6 常用语法
1. 箭头函数 函数的简写方式 () => {} 只有一个参数时,可以省略() ---- x => {} 只有一条语句时,可以省略{},此时这点语句的结果会作为函数的返回值返回 () = ...
- 27 ArcMap加载天地图服务一片空白怎么办
在ArcMap中添加WMTS Server,连接上了,但是不显示 天地图升级向导:http://lbs.tianditu.gov.cn/authorization/authorization.html ...
- bulid tools
输入:工程文件+编译说明文件: 处理:自动化构建工具+编译器: 输出:可执行文件. 相对于手动编译. 概述历史上 , 并通过构建自动化Makefile.今天 , 有两种一般类型的工具 : 自动工具 ( ...
- TCP断开那些事
继上一篇后,我们再来看一下四次挥手的过程 这里其实没有必要过多阐述,一张图胜过千言万语. 与三次握手一样,四次挥手的过程中也有许多扩展问题. 当然问的最多的还是:为什么要四次握手?为什么要等待2MSL ...
- jQuery实现图片懒加载
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 学习ActiveMQ(一):安装与启动
一:简单介绍 AvtiveMQ是Apaceh所研发的一个开源消息中间件,用来在服务与服务之间进行异步通信,是基于JMS规范的.activemq包含发送者(sender).消息(message).队列( ...
- Toad for Oracle 创建表空间和用户
表空间 1.找到Tablespace,右键,单击Create Tablespace 2.输入表空间名字,例如:test_tablespace3.单击"Date Files"选项卡, ...
- 微信小程序区分点击,长按事件
在上代码之前,微信小程序点击事件,长按事件的触发顺序需要我们了解一下下 事务分类 touchstart:手指触摸 longtap:手指触摸后后,超过350ms离开 touchend:手指触摸动作结束 ...
- python panda::dataframe常用操作
1.条件查询: result = df.query("((a==1 and b=="x") or c/d < 3))" print result 2.遍历 ...
- python 日常代码 tips
1. 官方示例很多情况是用的列表的形式,bokeh本身不是基于pandas构建的可视化工具,所以它基本上是用的python自己的数据结构字典.列表:我们做数据分析肯定是基于pandas,以上就是做了一 ...